Ogni app, prima o poi, deve far aspettare l'utente: un download, una chiamata di rete, un salvataggio su database. Se durante l'attesa lo schermo resta fermo, l'utente pensa che l'app sia bloccata e spesso chiude tutto.
Flutter mette a disposizione due widget pronti all'uso per comunicare "sto lavorando":
CircularProgressIndicator: il classico cerchio che gira, ideale per attese brevi o di durata sconosciuta.LinearProgressIndicator: una barra orizzontale, perfetta quando conosci la percentuale di avanzamento.
In questo tutorial partiamo da zero e costruiamo una piccola schermata dimostrativa in cui vedremo:
- la differenza tra indicatore indeterminato e determinato;
- come collegare un indicatore a un'operazione asincrona reale;
- come creare un bottone con loader integrato;
- come mostrare un dialog di caricamento bloccante e chiuderlo in sicurezza;
- le personalizzazioni grafiche e le best practice da seguire.
Non servono pacchetti esterni: tutto quello che useremo fa parte del Material di Flutter.