Quasi ogni app ha una schermata di preferenze: attivare le notifiche, accettare i termini, scegliere un livello di qualità, regolare il volume. Flutter mette a disposizione una famiglia di widget pensati esattamente per questo: Checkbox, Switch, Radio e Slider, insieme alle loro varianti "pronte all'uso" CheckboxListTile, SwitchListTile e RadioListTile.
Tutti questi widget hanno una caratteristica in comune: sono controllati. Non memorizzano internamente il valore selezionato, ma lo ricevono dall'esterno (value) e notificano i cambiamenti con una callback (onChanged). Sta a te salvare il nuovo valore nello stato e ricostruire la UI: è il classico pattern setState dei StatefulWidget.
In questo tutorial costruiremo una schermata Impostazioni completa:
- una checkbox per accettare i termini;
- alcuni switch per le notifiche;
- un gruppo di radio button per la qualità di download;
- uno slider per il volume e un
RangeSliderper una fascia di prezzo; - un riepilogo finale dei valori scelti.
Al termine avrai chiaro il funzionamento del ciclo valore → callback → setState → rebuild, che è il cuore di qualsiasi form in Flutter.