flutter - 如何更改 CheckboxListTile 的勾选颜色

标签 flutter dart

我已经设置了我的复选框小部件,并希望在选中时将勾选颜色更改为绿色(当前为白色)。所以我设法通过添加主题将未选中复选框的颜色更改为白色。我想将选定的刻度颜色更改为绿色,但我似乎无法在主题下找到正确的选项。

代码:

  Widget buildResultTile(data) {
    return Theme(
      data: ThemeData(unselectedWidgetColor: white),
      child:
        CheckboxListTile(
        activeColor: transparent,
        title: AutoSizeText(
          data,
          maxLines: 1,
          style: TextStyle(
            color: white,
          ),
        ),
        value: _serachSelectList.contains(data),
        onChanged: (bool value) {
          setState(() {
            if (value) {
              _serachSelectList.add(data);
            } else {
              _serachSelectList.remove(data);
            }
          });
        },
        secondary: const Icon(Icons.account_box, color: white),      
      )
    );
  } 

未选择:

enter image description here

选中(我希望勾选为Colors.green):

enter image description here

最佳答案

要更改 CheckboxListTile 中复选框的fill 颜色,只需在 ThemeData< 中设置 toggleableActiveColor 属性即可:

ThemeData(
    // ... other theme values ...

    toggleableActiveColor: Colors.green
)

不幸的是,CheckboxListTile 无法更改 刻度线 的颜色,因为它没有公开其 checkColor 属性复选框 小部件,因此您只能滚动自己的列表 block 。

关于flutter - 如何更改 CheckboxListTile 的勾选颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56642506/

相关文章:

dart - Dart 类中带下划线的命名参数

dart - Flutter 检查滚动能力

ios - 如何获取媒体播放器的时间位置

android - 在flutter dart中的some方法之后调用该方法

flutter - Flutter:处理无效值:不在范围内,并在ListviewBuilder中为其提供初始值

flutter - 如何在 flutter 中使用 Mobx 弹出屏幕

flutter - 收听视频进度 Flutter video Player 插件

flutter - Riverpod,在 BuildContext 和 Provider 之外读取状态

flutter - 为什么flutter build web生成的app有时无法运行?

dart - 将 Uint8List 传递给 dart 中的 Pointer<Void> :ffi