如何更改 CheckboxListTile 的刻度颜色

Raj*_*eep 2 dart flutter

我已设置好复选框小部件,并希望在选中时将刻度线颜色更改为绿色(当前为白色)。因此,我设法通过添加主题将复选框未选中时的颜色更改为白色。我想将选定的刻度颜色更改为绿色,但是我似乎无法在主题下找到正确的选项来这样做。

代码:

  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),      
      )
    );
  } 
Run Code Online (Sandbox Code Playgroud)

未选中:

在此处输入图片说明

选择(我想蜱是Colors.green):

在此处输入图片说明

Mag*_*s W 9

要更改a 中复选框的填充颜色CheckboxListTile,您只需在 中设置toggleableActiveColor属性ThemeData

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

    toggleableActiveColor: Colors.green
)
Run Code Online (Sandbox Code Playgroud)

不幸的是,更改刻度线的颜色是不可能的,CheckboxListTile因为它不会公开checkColorCheckbox小部件的属性,因此您只能滚动自己的列表图块。


Sve*_*ven 6

您可以使用checkColorCheckboxListTile-Widget 的属性来设置复选标记的颜色:

CheckboxListTile(
  checkColor: Colors.black54, //sets checkmark color
  // ... other properties ...
)
Run Code Online (Sandbox Code Playgroud)

(参见https://github.com/flutter/flutter/pull/37636

要更改复选框的填充颜色,请参阅 Magnus 的答案/sf/answers/3985907761/