前言:《Hello, Flutter》是我近期的一個(gè)寫(xiě)作計(jì)劃。我的目標(biāo)是寫(xiě)一篇篇簡(jiǎn)短的教程融欧,提供給
Flutter
的初級(jí)用戶,讓他們能夠快速掌握Flutter
開(kāi)發(fā)噪馏。代碼地址:https://github.com/flycash/hello_flutter
CheckBox
是非常常見(jiàn)的組件绿饵,在涉及多項(xiàng)選擇的情況下,它幾乎就是第一優(yōu)先級(jí)考慮的組件刺桃。
CheckBox
的基本用法非常簡(jiǎn)單:
這里有一個(gè)地方很有意思吸祟,一般來(lái)說(shuō),我們的checkbox
都會(huì)和一小段文字合在一起葛碧,比如例子里面的"I'm checkbox"过吻,這個(gè)時(shí)候就會(huì)發(fā)現(xiàn),在CheckBox
里面并沒(méi)有所謂的一個(gè)text
字段乳绕,它僅僅代表的就是那個(gè)框框自身廓推。
另外,value
這個(gè)字段則是代表CheckBox
有沒(méi)有被選中樊展。onChange
則是回調(diào)。會(huì)在狀態(tài)變化的時(shí)候觸發(fā)专缠。
我們可以修改CheckBox
的顏色:
可以看到涝婉,和顏色有關(guān)的是activeColor
和checkColor
,其中activeColor
代表的是框框的背景色,而checkColor
則是那個(gè)小勾勾的顏色寞射。
這時(shí)候應(yīng)該能夠發(fā)現(xiàn)锌钮,這里面其實(shí)沒(méi)有改變形狀的選項(xiàng)。因此侵浸,那種很常見(jiàn)的圓形的復(fù)選框,在flutter
里面反而比較難實(shí)現(xiàn)掏觉。
一般來(lái)說(shuō),在手機(jī)APP上澳腹,這些復(fù)選框都會(huì)按照一行行的排列好惭嚣。在這種情況下,我們可以考慮使用CheckBoxListTile
晚吞。
這看上去就很接近我們?nèi)粘=佑|到的了槽地。它還有一個(gè)非常關(guān)鍵的點(diǎn):只要點(diǎn)擊那一整行芦瘾,就可以選中。如果不用CheckboxListTile
的話缅糟,那么只有點(diǎn)擊那個(gè)小框框的時(shí)候,才能選中窗宦。
CheckboxListTile
還有一個(gè)比較有意思的屬性二鳄,secondary
:
簡(jiǎn)單來(lái)說(shuō)订讼,它就是可以看做是一個(gè)leading
。
在開(kāi)發(fā)中,個(gè)人是推薦優(yōu)先使用CheckboxListTile
鳖敷。