/// @Author: xiaojia.dxj /// @Date: 2018-12-19 15:13:24 /// @Last Modified by: xiaojia.dxj /// @Last Modified time: 2018-12-20 19:32:10 import 'package:flutter/material.dart'; class ChoiceChipDemo extends StatefulWidget { _ChoiceChipDemoState createState() => _ChoiceChipDemoState(); } class _ChoiceChipDemoState extends State { String _selected = ''; List _sub = ['java', 'web', 'android']; Iterable get actorWidgets sync* { for (String choiceSub in _sub) { yield Padding( padding: EdgeInsets.all(15.0), child: ChoiceChip( // avatar: Icon(Icons.access_alarm,size: 20.0,color: Colors.white,), //未选定的时候背景 backgroundColor: Colors.red, //被禁用得时候背景 disabledColor: Colors.blue, label: Text(choiceSub), labelStyle: TextStyle(fontWeight: FontWeight.w200, fontSize: 15.0), labelPadding: EdgeInsets.only(left: 20.0, right: 20.0), materialTapTargetSize: MaterialTapTargetSize.padded, onSelected: (bool value) { setState(() { _selected = value ? choiceSub : 'Colors.red'; }); }, selected: _selected == choiceSub, )); } } @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Wrap( children: actorWidgets.toList(), ), ], ); } }