flutter 如何在TextButton.图标中更改颜色

exdqitrt  于 2022-12-19  发布在  Flutter
关注(0)|答案(3)|浏览(223)

我想有一个文本图标,所以我用TextButton.icon,但我不能改变文本或图标的颜色!请建议,如果有人有一个解决方案,这是我的代码:

SizedBox(height: 8,),
        TextButton.icon(
          icon: Icon(Icons.delete),
          label: Text('delete'),

          onPressed: (){},
        ),
8yoxcaq7

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"),
 )
5w9g7ksd

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

eeq64g8w

eeq64g8w3#

试试下面的代码,希望对你有帮助。
参考TextButtonhere

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

相关问题