使用其他文件的setState更改警报对话框中的图标颜色

时间:2019-04-04 05:09:42

标签: android flutter android-alertdialog

我面临的问题是从其他类别更改图标的颜色。因此,在我的应用程序中,我需要从文件2触发文件1的setState。

我已经尝试过回调函数,但是它不起作用。可能是由于缺乏经验和理解。

File 1 (full file is shown to provide a better understanding of my problem):

File 2 (Full file is shown to provide a better understanding of my problem) :

当前,警报对话框中的图标仅在重新打开警报对话框时才会更改其颜色(这只会触发文件1中的setState文件1)。

我的预期结果是,当按下警报对话框中的按钮时,图标颜色会立即更改,而无需重新打开警报对话框。

希望有人可以建议我如何以及如何实现期望...

1 个答案:

答案 0 :(得分:0)

color属性默认为当前IconTheme颜色(如果有)。通常,将使用材料设计颜色,如下所示:

Icon(
 CustomIcon.MyFlutterApp.light,
 color: Colors.blue.shade400, //any color you want
 size: 100,
),

或者您可以这样做:

child: new IconTheme(
    data: new IconThemeData(
        color: Colors.yellow), 
    child: new Icon(CustomIcon.MyFlutterApp.light),
),

顺便说一句,我还没有检查代码,但是应该可以。