前言:《Hello, Flutter》是我近期的一个写作计划。我的目标是写一篇篇简短的教程,提供给
Flutter
的初级用户,让他们能够快速掌握Flutter
开发。代码地址:https://github.com/flycash/hello_flutter
CheckBox
是非常常见的组件,在涉及多项选择的情况下,它几乎就是第一优先级考虑的组件。
CheckBox
的基本用法非常简单:
这里有一个地方很有意思,一般来说,我们的checkbox
都会和一小段文字合在一起,比如例子里面的"I'm checkbox",这个时候就会发现,在CheckBox
里面并没有所谓的一个text
字段,它仅仅代表的就是那个框框自身。
另外,value
这个字段则是代表CheckBox
有没有被选中。onChange
则是回调。会在状态变化的时候触发。
我们可以修改CheckBox
的颜色:
可以看到,和颜色有关的是activeColor
和checkColor
,其中activeColor
代表的是框框的背景色,而checkColor
则是那个小勾勾的颜色。
这时候应该能够发现,这里面其实没有改变形状的选项。因此,那种很常见的圆形的复选框,在flutter
里面反而比较难实现。
一般来说,在手机APP上,这些复选框都会按照一行行的排列好。在这种情况下,我们可以考虑使用CheckBoxListTile
。
这看上去就很接近我们日常接触到的了。它还有一个非常关键的点:只要点击那一整行,就可以选中。如果不用CheckboxListTile
的话,那么只有点击那个小框框的时候,才能选中。
CheckboxListTile
还有一个比较有意思的属性,secondary
:
简单来说,它就是可以看做是一个leading
。
在开发中,个人是推荐优先使用CheckboxListTile
。
网友评论