在颤动中更改复选框的选中标记颜色

问题描述 投票:1回答:3

我需要更改flutter中复选框的复选标记颜色,并且没有给出更改Checkbox中颜色的参数。

Checkbox(
   value: isCheck,
   activeColor: Colors.grey,
   onChanged: (bool value) {
   setState(() { isCheck = value;});
       })

飞镖类代码

  const Checkbox({
    Key key,
    @required this.value,
    this.tristate = false,
    @required this.onChanged,
    this.activeColor,
    this.materialTapTargetSize,
  }) : assert(tristate != null),
       assert(tristate || value != null),
       super(key: key);
android dart flutter
3个回答
2
投票

现在我正在使用 -

颤动(Channel dev,v1.2.2,)

稳定通道上不存在更改Checkmark颜色的选项。

Checkbox(
          value: isCheck,
          checkColor: Colors.yellowAccent,  // color of tick Mark
          activeColor: Colors.grey,
          onChanged: (bool value) {
            setState(() {
              isCheck = value;
            });
          }),

3
投票

要更改复选框的颜色:

不活动时(边框颜色):

Theme(
      data: Theme.of(context).copyWith(
        unselectedWidgetColor: Colors.white,
      ),
      child: Checkbox(...),
    )

选中时(图标颜色):

Checkbox(
        checkColor: Colors.red,
        ...
      )

激活(选中)时:

Checkbox(
        activeColor: Colors.amberAccent,
        ...
      )

完整代码示例:

Theme(
      data: Theme.of(context).copyWith(
        unselectedWidgetColor: Colors.white,
      ),
      child: Checkbox(
        checkColor: Colors.red,
        activeColor: Colors.amberAccent,
        value: _terms,
        onChanged: (bool value) {
          setState(() {
            _terms = value;
          });
        },
      ),
    )

0
投票

您可以使用bool变量更改它,在您的情况下是isCheck,如下所示:

Checkbox(
   value: isCheck,
   activeColor: isCheck ? Colors.green: Colors.grey ,
   onChanged: (bool value) {
   setState(() { isCheck = value;});
       })
© www.soinside.com 2019 - 2024. All rights reserved.