How do you add a label (title text) to a Checkbox in Flutter?
If you need a Checkbox
with a label then you can use a CheckboxListTile
.
CheckboxListTile( title: Text("title text"), // <-- label value: checkedValue, onChanged: (newValue) { ... }, )
If you want the checkbox on the left of the text then you can set the controlAffinity
parameter.
CheckboxListTile( title: Text("title text"), value: checkedValue, onChanged: (newValue) { ... }, controlAffinity: ListTileControlAffinity.leading, // <-- leading Checkbox )
Notes
- Since it is a ListTile, clicking anywhere on the row activates the
onChanged()
callback. You need to rebuild it with the correct checked values yourself, though. See this answer. - An alternate solution would be to make your own widget using a Row with a Checkbox and a Text widget. You would probably want to wrap it in a gesture detector, though, so that taps on the text would also trigger an
onChanged()
callback. You could start with theCheckboxListTile
source code as a reference.