如何更改颤振/飞镖中复选框的边框颜色

vis*_*kar 21 dart flutter

我在 Flutter 应用程序的 UI 中添加了一个复选框,我可以看到复选框颜色或活动颜色属性,但找不到任何更改复选框边框颜色的选项,通常为黑色。

更改边框颜色的规定或调整是什么?

koo*_*oos 49

Checkbox(value: false, tristate: false, onChanged: () {});
???
Theme(
data: ThemeData(unselectedWidgetColor: Colors.red),
child: Checkbox(value: false, tristate: false, onChanged: (bool value) {}));

No onChanged, then the border will be grey(disabled).
Run Code Online (Sandbox Code Playgroud)


小智 26

您可以通过使用side属性来做到这一点...

side: BorderSide(color: Color(0xff585858)),
Run Code Online (Sandbox Code Playgroud)


小智 8

如果您想为复选框定义应用程序范围的主题,您可以这样做:

MaterialApp(
   ...
  theme:ThemeData(
    checkboxTheme: CheckboxThemeData(
      fillColor: MaterialStateColor.resolveWith(
        (states) {
          if (states.contains(MaterialState.selected)) {
           return Colors.purple // the color when checkbox is selected;
            }
         return Colors.white //the color when checkbox is unselected;
         },
    ),
   ),
  ),
 )
Run Code Online (Sandbox Code Playgroud)

为您的应用程序定义应用程序范围的主题是一种很好的做法,以避免代码重复并确保一致性,它还可以提供更好的维护。享受编码的乐趣:)