Защита от роботов — Yandex SmartCaptcha. Политика обработки данных
Checkbox
Флажок: включено, выключено и (по желанию) «не определено». Сам флажок
значения не хранит
: он показывает
value
и сообщает о нажатии через
onChanged
; новое значение записывает в состояние автор разметки.
Тип:
leaf
@agree:false
Checkbox value:$agree onChanged:(v){agree = v}
Параметры
| Параметр | Тип | Default | Описание |
|---|---|---|---|
value
|
bool | — |
Включён ли флажок. Для
tristate
пустое значение — «не определено»
|
tristate
|
bool | false | Третье состояние — «не определено» |
onChanged
|
callback | — | Вызывается при нажатии, получает новое значение. Без него флажок выключен (серый, не нажимается) |
activeColor
|
color | — | Цвет включённого флажка |
checkColor
|
color | — | Цвет галочки |
focusColor
|
color | — | Цвет подсветки при фокусе (только приложение) |
hoverColor
|
color | — | Цвет подсветки при наведении (только приложение) |
Вложенные структуры
#shape
,
#side
,
#visualDensity
#shape
— форма (например,
#shape rounded
со своим
#borderRadius
),
#side
— рамка,
#visualDensity
— плотность (размер кликабельной области).
@done:true
Checkbox value:$done activeColor:#4f46e5 checkColor:#ffffff onChanged:(v){done = v}
#shape rounded
#borderRadius circular 4
Примеры
Согласие с условиями
@agree:false
Row spacing:8
Checkbox value:$agree onChanged:(v){agree = v}
Text "Я согласен с условиями"
Флажок с третьим состоянием
@all:false
Checkbox value:$all tristate:true onChanged:(v){all = v}
Различия между приложением и сайтом
- Вид флажка на сайте и в приложении один и тот же (рисуется по правилам Material, а не браузером).
-
focusColor,hoverColorна сайте не читаются. -
CheckboxбезonChangedи там, и там серый и неактивный.
Bad practices
Флажок без onChanged
// BAD — флажок выключен: нажимать его нельзя
Checkbox value:true
// GOOD
@checked:true
Checkbox value:$checked onChanged:(v){checked = v}