Если вам нужен Checkbox
с этикеткой, вы можете использовать CheckboxListTile
.
![enter image description here](https://i.stack.imgur.com/PZesI.png)
CheckboxListTile(
title: Text("title text"), // <-- label
value: checkedValue,
onChanged: (newValue) { ... },
)
Если вы хотите установить флажок слева от текста, вы можете установить параметр controlAffinity
.
![enter image description here](https://i.stack.imgur.com/X6luX.png)
CheckboxListTile(
title: Text("title text"),
value: checkedValue,
onChanged: (newValue) { ... },
controlAffinity: ListTileControlAffinity.leading, // <-- leading Checkbox
)
Примечания
- Поскольку это ListTile, нажатие в любом месте строки активирует обратный вызов
onChanged()
.Вы должны восстановить его с правильными проверенными значениями самостоятельно, все же.См. этот ответ . - Альтернативным решением будет создание собственного виджета с использованием строки с флажком и текстового виджета.Вы, вероятно, захотите обернуть его в детектор жестов, так что нажатие на текст также вызовет обратный вызов
onChanged()
.Вы можете начать с CheckboxListTile
исходного кода в качестве ссылки.