如何在颤动中激活/选择复选框后保持边框

Cod*_*nds 9 dart flutter

所以我现在拥有的是 这, 选中时无边框复选框

我想要实现的是这, 选中时有边框的复选框

这是我的复选框的代码:

Checkbox(
          value: _isChecked,
          onChanged: (bool value) {
            setState(() {
              _isChecked = value;
            });
           },
          checkColor: Colors.pinkAccent,
          activeColor: Colors.transparent,
        ),
Text("Remember me")
Run Code Online (Sandbox Code Playgroud)

小智 5

side: MaterialStateBorderSide.resolveWith(
                              (states) => BorderSide(
                                    color: Colors.white,
                                    width: 1.5,
                                  )),
Run Code Online (Sandbox Code Playgroud)


Yah*_*var 3

你可以将它包装在一个容器中并为其设置边框
如何在 Flutter 中为小部件添加边框?
那么你可以使用主题(unselectedwidgetcolor:)来更改复选框的默认边框
更改颤振中的复选框边框颜色
然后根据这些问题我们可以同时使用两者来实现我们想要的

bool _isChecked = false;
Run Code Online (Sandbox Code Playgroud)

然后我们可以定义我们的复选框并说如果 isChecked 等于 true ,如果不将其更改为白色,则颜色将为粉红色ternary if

  Container(
            decoration: BoxDecoration(
              border: Border.all(
                  color: _isChecked == true ? Colors.pinkAccent: Colors.black,
                  width: 2.3),
            ),
            width: 24,
            height: 24,
            child: Theme(
              data: ThemeData(unselectedWidgetColor: Colors.white),
              child: Checkbox(
                checkColor: Colors.pinkAccent,
                activeColor: Colors.transparent,
                value: _isChecked,
                tristate: false,
                onChanged: (bool isChecked) {
                  setState(() {
                    _isChecked = isChecked;
                  });
                },
              ),
            ),
          ),
Run Code Online (Sandbox Code Playgroud)

使用上面的代码你会得到这样的东西
在此输入图像描述

您还可以将粉红色边框更改为您想要的任何内容