8.1 概述
在用户界面中,复选框(Checkbox)通常用于让用户选择多个选项或启用/禁用某些功能。与 Switch 不同,Checkbox 允许多个选项同时处于选中状态,这使得它在表单、设置选项和多项选择场景中得到了广泛应用。
Checkbox 的外观为一个方形框,当被选中时显示对勾标记。它的设计简单,但非常有效。通过灵活的配置,Checkbox 可以自定义其颜色、大小以及启用/禁用状态,提供多种视觉效果和交互方式。
8.2 Checkbox 的基本使用
Checkbox 的基本使用方式非常简单,只需提供两个主要属性——value 和 onChanged。value 控制复选框的选中状态,onChanged 用于监听复选框状态的变化。
示例:
Checkbox(
value: isChecked,
onChanged: (bool? value) {
setState(() {
isChecked = value!;
});
},
)
在此示例中,isChecked 是一个 bool 变量,表示复选框是否被选中。onChanged 回调会在用户点击复选框时触发,并更新 isChecked 的值。
8.3 Checkbox 的主要属性
| 属性 | 类型 | 说明 | 默认值 |
|---|---|---|---|
value |
bool? |
控制复选框是否被选中,true 为选中,false 为未选中,null 表示不确定状态。 |
必须指定 |
onChanged |
ValueChanged<bool?>? |
当复选框状态变化时调用的回调函数。 | 必须指定 |
activeColor |
Color? |
复选框选中时的颜色。 | null |
checkColor |
Color? |
复选框内部对勾的颜色。 | null |
fillColor |
MaterialStateProperty<Color?>? |
控制复选框背景颜色,通常用于自定义各种状态下的颜色。 | null |
hoverColor |
Color? |
当鼠标悬停在复选框上时显示的颜色(主要用于桌面应用)。 | null |
focusColor |
Color? |
复选框获得焦点时显示的颜色。 | null |
materialTapTargetSize |
MaterialTapTargetSize? |
控制复选框点击目标的大小。可以设置为 padded 或 shrinkWrap,来控制点击区域的扩展。 |
null |
visualDensity |
VisualDensity? |
控制复选框的密度,影响复选框的大小和内部内容的间距。 | null |
tristate |
bool</ |

最低0.47元/天 解锁文章
4064

被折叠的 条评论
为什么被折叠?



