Un avviso popup fornisce un feedback semplice su un'operazione in un piccolo popup. Riempie solo la quantità di spazio necessaria per il messaggio e l'attività corrente rimane visibile e interattiva. I toast scompaiono automaticamente dopo un timeout.
Ad esempio, se fai clic su Invia in un'email, viene attivato il toast "Invio del messaggio in corso...", come mostrato nella seguente schermata:
Se la tua app ha come target Android 12 (livello API 31) o versioni successive, l'avviso popup è limitato a due righe di testo e mostra l'icona dell'applicazione accanto al testo. Tieni presente che la lunghezza della riga di questo testo varia a seconda delle dimensioni dello schermo, quindi è meglio rendere il testo il più breve possibile.
Alternative all'uso dei toast
Se la tua app è in primo piano, ti consigliamo di utilizzare uno snackbar anziché un toast. Gli snackbar includono opzioni utilizzabili dall'utente, che possono offrire una migliore esperienza con l'app.
Se la tua app è in background e vuoi che gli utenti eseguano qualche azione, usa una notifica.
Creare l'istanza di un oggetto Toast
Utilizza il metodo makeText()
, che prevede i seguenti parametri:
- L'attività
Context
. - Il testo che dovrebbe essere mostrato all'utente.
- La durata del toast che deve rimanere sullo schermo.
Il metodo makeText()
restituisce un oggetto Toast
inizializzato correttamente.
Mostra il toast
Per visualizzare il toast, chiama il metodo show()
, come mostrato nell'esempio seguente:
Kotlin
val text = "Hello toast!" val duration = Toast.LENGTH_SHORT val toast = Toast.makeText(this, text, duration) // in Activity toast.show()
Java
CharSequence text = "Hello toast!"; int duration = Toast.LENGTH_SHORT; Toast toast = Toast.makeText(this /* MyActivity */, text, duration); toast.show();
Concatena le chiamate ai metodi toast
Puoi concatenare i tuoi metodi per evitare di rimanere attaccato all'oggetto Toast
, come mostrato nel seguente snippet di codice:
Kotlin
Toast.makeText(context, text, duration).show()
Java
Toast.makeText(context, text, duration).show();