消费者重建导致不良影响

时间:2020-04-01 05:54:29

标签: flutter

正如标题所示,我正在使用Flutter,并且已为用户提供了更改其主题(包括颜色)的选项。此选项在抽屉中显示给用户。

一切正常,但是在向我的应用添加其他组件后,开始重新加载主页后,每次选择单选按钮都关闭抽屉,这对我来说是非常糟糕的用户体验。从主题通告程序类正常工作到现在,都没有对其进行任何更改。这是更改引起问题的颜色的代码。

Consumer<ThemeNotifier>(
            builder: (_, themeNotifier, __) => RadioListTile<MaterialColor>(
              activeColor: Theme.of(context).accentColor,
              value: index.isEven
                  ? kColors.values.toList()[index - (index / 2).round()]
                  : kColors.values.toList()[(index - (index / 2).floor()) - 1],
              title: index.isEven
                  ? Text(
                      '${kColors.keys.toList()[index - (index / 2).round()]}',
                      textAlign: TextAlign.center,
                    )
                  : Text(
                      '${kColors.keys.toList()[(index - (index / 2).floor()) - 1]}',
                      textAlign: TextAlign.center,
                    ),
              groupValue: index.isEven
                  ? themeNotifier.getPrimaryColor()
                  : themeNotifier.getSecondaryColor(),
              onChanged: index.isEven
                  ? (MaterialColor color) => {
                        themeNotifier.setPrimaryColor(color),
                      }
                  : (MaterialColor color) => {
                        themeNotifier.setSecondaryColor(color),
                      },
            ),
          );

我以为我有一个Provider.of(context,listen:true),但是它们都设置为false。感谢您的帮助。

ps:Idk如果看到我发布的图片,则向用户显示两行单选按钮,这些按钮是抽屉中可供选择的颜色列表,以防万一我不清楚。

0 个答案:

没有答案