我想有一个文本图标,所以我用TextButton.icon,但我不能改变文本或图标的颜色!请建议,如果有人有一个解决方案,这是我的代码:
TextButton.icon
SizedBox(height: 8,), TextButton.icon( icon: Icon(Icons.delete), label: Text('delete'), onPressed: (){}, ),
8yoxcaq71#
可以在TextButton的样式上使用TextButton.stylefrom。在此方法中,可以使用primary设置图标和标签的颜色。如果要为图标设置其他颜色,可以在Icon中设置图标颜色。
TextButton.icon( onPressed:(){}), style: TextButton.styleFrom( primary: Colors.blue, ), icon: Icon(Icons.ac_unit, color: Colors.red), label: Text("label"), )
5w9g7ksd2#
基于Emmanuel Ashitey的回答,从v3.1.0开始,“primary”方法已被弃用(根据VSCode工具提示),应该替换为“foregroundColor”:
TextButton.icon( onPressed: () {}, icon: const Icon(Icons.delete), label: const Text('Delete'), style: TextButton.styleFrom( foregroundColor: Theme.of(context).errorColor, ), ),
显然,对于此场景,Theme.of(context).errorColor可以替换为Colors.red。
Theme.of(context).errorColor
Colors.red
eeq64g8w3#
试试下面的代码,希望对你有帮助。参考TextButtonhere
TextButton
TextButton.icon( icon: Icon( Icons.delete, color: Colors.red,//for icon color ), label: Text( 'Delete', style: TextStyle( color: Colors.red,//for text color ), ), onPressed: () {}, ),
结果屏幕-〉x1c 0d1x
3条答案
按热度按时间8yoxcaq71#
可以在TextButton的样式上使用TextButton.stylefrom。在此方法中,可以使用primary设置图标和标签的颜色。如果要为图标设置其他颜色,可以在Icon中设置图标颜色。
5w9g7ksd2#
基于Emmanuel Ashitey的回答,从v3.1.0开始,“primary”方法已被弃用(根据VSCode工具提示),应该替换为“foregroundColor”:
显然,对于此场景,
Theme.of(context).errorColor
可以替换为Colors.red
。eeq64g8w3#
试试下面的代码,希望对你有帮助。
参考
TextButton
here结果屏幕-〉x1c 0d1x