我正在尝试使用下拉列表,并且希望将Colors.white
用于所选文本,并将Colors.black54
用于下拉列表文本。但是,当我尝试使用color
属性并将其更改为White时,它也会更改下拉文本的颜色。
DropdownButton<String>(
//this changed the color of both text, intial text as well dropdown text color
dropdownColor: Colors.white,
value: value,
style: TextStyle(color: Colors.white),
icon: CircleAvatar(
radius: 12,
backgroundColor: Colors.white,
child: Icon(Icons.arrow_drop_down),
),
items: places.map((String value) {
return new DropdownMenuItem<String>(
value: value,
child: new Text(
value,
//I tried giving text style here , but same result
style: TextStyle(color: Colors.white),
),
);
}).toList(),
onChanged: (_) {
setState(() {
value = _;
});
},
)
这里是图片。
好,我使用selectedItemBuilder
的dropdown
属性找到了解决方案>
final List<String> places = ['Delhi', 'Mumbai', 'Kerela', 'Agra']; DropdownButton<String>( selectedItemBuilder: (_) { return places .map((e) => Container( alignment: Alignment.center, child: Text( e, style: TextStyle(color: Colors.white), ), )) .toList(); }, value: value, icon: CircleAvatar( radius: 12, backgroundColor: Colors.white, child: Icon(Icons.arrow_drop_down), ), items: places.map((String value) { return new DropdownMenuItem<String>( value: value, child: new Text( value, style: TextStyle(color: Colors.black54), ), ); }).toList(), onChanged: (_) { setState(() { value = _; }); }, )
这里是结果