flutter - 在颤动中激活/选中复选框后如何保持边框
问题描述
这是我拥有的复选框的代码:
Checkbox(
value: _isChecked,
onChanged: (bool value) {
setState(() {
_isChecked = value;
});
},
checkColor: Colors.pinkAccent,
activeColor: Colors.transparent,
),
Text("Remember me")
解决方案
您可以将其包装在容器中并为其设置边框
如何在 Flutter 中为小部件添加边框?
然后你可以使用主题(未选择的widgetcolor :)来更改复选框的默认边框
更改复选框边框颜色在颤动中
然后根据这些问题我们可以使用两者来实现我们想要的
bool _isChecked = false;
然后我们可以定义我们的复选框并说如果 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;
});
},
),
),
),
您还可以将粉红色边框更改为您想要的任何内容
推荐阅读
- javascript - Javascript:根据日期输入计算日期数组
- python - 我没有使用变量,但它发生了 TypeError
- c++ - 具有默认模板参数的多态类的模板推导失败
- c - 在 C 中读取文件并将内容复制到结构数组中
- javascript - 如何将图表数据加载到附加的画布
- python - 在 Ubuntu 上安装 Odoo 11 时出现 ValueError
- python - 将 PIL 图像复制到剪贴板(Python)
- python - 知道其中一个起始网址是否已完成
- angular - Angular 6 ServiceWorker - index.html 返回响应 404 Not Found
- php - 使用 laravel 5.6 Mail Facade,邮件已发送但为空