Ricerca…


Messaggio di base Toast

Innanzitutto, MakeText() un'istanza di un oggetto Toast con uno dei metodi MakeText() . Questo metodo richiede tre parametri: il Context dell'applicazione, il messaggio di testo e la durata del brindisi. Restituisce un oggetto Toast correttamente inizializzato. È possibile visualizzare la notifica del brindisi con Show() , come mostrato nell'esempio seguente:

Context context = Application.Context;
string text = "Hello toast!";
ToastLength duration = ToastLength.Short;

var toast = Toast.MakeText(context, text, duration);
toast.Show();

Questo esempio mostra tutto il necessario per la maggior parte delle notifiche di brindisi. Dovresti raramente aver bisogno di qualcos'altro. Tuttavia, è possibile posizionare il toast in modo diverso o persino utilizzare il proprio layout anziché un semplice messaggio di testo. Le seguenti sezioni descrivono come puoi fare queste cose.

Puoi anche concatenare i tuoi metodi, chiamare come one-liner ed evitare di mantenere l'oggetto Toast, come questo:

Toast.MakeText(Application.Context, "Hello toast!", ToastLength.Short).Show();

Per ulteriori informazioni, fare riferimento alla documentazione Android completa sull'argomento.

Messaggi colorati Toast

A volte vogliamo dare ulteriori informazioni al nostro utente con i colori (ad esempio rosso significa che è successo qualcosa di sbagliato) Possiamo cambiare il colore di sfondo del messaggio di toast usando l'impostazione di un filtro colorato per la vista che il nostro brindisi ci dà (qui uso ColorMatrixColorFilter ):

Toast t = Toast.MakeText(context, message, duration);
Color c = */your color/*;
ColorMatrixColorFilter CM = new ColorMatrixColorFilter(new float[]
    {
        0,0,0,0,c.R,
        0,0,0,0,c.G,
        0,0,0,0,c.B,
        0,0,0,1,0            
    });
t.View.Background.SetColorFilter(CM);
t.Show();

E inoltre possiamo cambiare il colore del testo se lo sfondo è chiaro o scuro:

if ((((float)(c.R) + (float)(c.G) + (float)(c.B)) / 3) >= 128)
    t.View.FindViewById<TextView>(Android.Resource.Id.Message).SetTextColor(Color.Black);
else
//text color is white by default

Cambia posizione Toast

Possiamo cambiare il nostro brindisi usando il metodo SetGravity. Questo metodo richiede tre parametri: il primo è la gravità del pane tostato sullo schermo e altri due impostano l'offset del toast dalla posizione di partenza (impostata dal primo parametro):

//Toast at bottom left corner of screen
Toast t = Toast.MakeText(context, message, duration);
t.SetGravity(GravityFlags.Bottom | GravityFlags.Left, 0, 0);
t.Show();

//Toast at a custom position on screen
Toast t = Toast.MakeText(context, message, duration);
t.SetGravity(GravityFlags.Top | GravityFlags.Left, x, y);
t.Show();


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow