我需要更改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);
现在我正在使用 -
颤动(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;
});
}),
要更改复选框的颜色:
不活动时(边框颜色):
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;
});
},
),
)
您可以使用bool变量更改它,在您的情况下是isCheck
,如下所示:
Checkbox(
value: isCheck,
activeColor: isCheck ? Colors.green: Colors.grey ,
onChanged: (bool value) {
setState(() { isCheck = value;});
})