Xamarin.Android
skålar
Sök…
Grundläggande toastmeddelande
Gör först ett Toast-objekt med en av MakeText()
-metoderna. Den här metoden tar tre parametrar: applikationens Context
, textmeddelandet och varaktigheten för rostat bröd. Det returnerar ett korrekt initierat Toast-objekt. Du kan visa toastmeddelandet med Show()
, som visas i följande exempel:
Context context = Application.Context;
string text = "Hello toast!";
ToastLength duration = ToastLength.Short;
var toast = Toast.MakeText(context, text, duration);
toast.Show();
Det här exemplet visar allt du behöver för de flesta rostade aviseringar. Du borde sällan behöva något annat. Du kanske dock vill placera toasten annorlunda eller till och med använda din egen layout istället för ett enkelt textmeddelande. Följande avsnitt beskriver hur du kan göra dessa saker.
Du kan också kedja dina metoder, ringa som enfodring och undvika att hålla fast vid Toast-objektet, så här:
Toast.MakeText(Application.Context, "Hello toast!", ToastLength.Short).Show();
Mer information finns i den mer kompletta Android-dokumentationen om ämnet.
Färgade toastmeddelanden
Ibland vill vi ge extra information till våra användare med färger (till exempel rött betyder att något fel har hänt). Vi kan ändra bakgrundsfärg för toastmeddelanden genom att ställa in ett färgfilter till den vy som vår toast ger oss (här använder jag en 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();
Och vi kan också ändra textfärgen om bakgrunden är ljus eller mörk:
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
Ändra toastposition
Vi kan byta rostat bröd med SetGravity-metoden. Den här metoden tar tre parametrar: först är graden av toast på skärmen och två andra inställda toastförskjutning från startpositionen (som ställs in av den första parametern):
//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();