前言:《Hello, Flutter》是我近期的一個(gè)寫作計(jì)劃。我的目標(biāo)是寫一篇篇簡短的教程,提供給
Flutter的初級(jí)用戶,讓他們能夠快速掌握Flutter開發(fā)。代碼地址:https://github.com/flycash/hello_flutter
CheckBox是非常常見的組件,在涉及多項(xiàng)選擇的情況下,它幾乎就是第一優(yōu)先級(jí)考慮的組件。
CheckBox的基本用法非常簡單:

這里有一個(gè)地方很有意思,一般來說,我們的checkbox都會(huì)和一小段文字合在一起,比如例子里面的"I'm checkbox",這個(gè)時(shí)候就會(huì)發(fā)現(xiàn),在CheckBox里面并沒有所謂的一個(gè)text字段,它僅僅代表的就是那個(gè)框框自身。
另外,value這個(gè)字段則是代表CheckBox有沒有被選中。onChange則是回調(diào)。會(huì)在狀態(tài)變化的時(shí)候觸發(fā)。
我們可以修改CheckBox的顏色:

可以看到,和顏色有關(guān)的是activeColor和checkColor,其中activeColor代表的是框框的背景色,而checkColor則是那個(gè)小勾勾的顏色。
這時(shí)候應(yīng)該能夠發(fā)現(xiàn),這里面其實(shí)沒有改變形狀的選項(xiàng)。因此,那種很常見的圓形的復(fù)選框,在flutter里面反而比較難實(shí)現(xiàn)。
一般來說,在手機(jī)APP上,這些復(fù)選框都會(huì)按照一行行的排列好。在這種情況下,我們可以考慮使用CheckBoxListTile。

這看上去就很接近我們?nèi)粘=佑|到的了。它還有一個(gè)非常關(guān)鍵的點(diǎn):只要點(diǎn)擊那一整行,就可以選中。如果不用CheckboxListTile的話,那么只有點(diǎn)擊那個(gè)小框框的時(shí)候,才能選中。
CheckboxListTile還有一個(gè)比較有意思的屬性,secondary:

簡單來說,它就是可以看做是一個(gè)leading。
在開發(fā)中,個(gè)人是推薦優(yōu)先使用CheckboxListTile。