Поиск…


Основные сообщения для тостов

Сначала MakeText() объект Toast с помощью одного из методов MakeText() . Этот метод принимает три параметра: приложение Context , текстовое сообщение и продолжительность для тоста. Он возвращает правильно инициализированный объект Toast. Вы можете отобразить уведомление тоста с помощью Show() , как показано в следующем примере:

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

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

Этот пример демонстрирует все, что вам нужно для большинства уведомлений о тостах. Вам редко нужно что-то еще. Однако вы можете захотеть поместить тост по-другому или даже использовать свой собственный макет вместо простого текстового сообщения. В следующих разделах описывается, как вы можете это делать.

Вы также можете объединить свои методы, вызвать как однострочный и избежать удержания объекта Toast, например:

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

Для получения дополнительной информации обратитесь к более полной документации для Android по этой теме.

Цветные сообщения с тостами

Иногда мы хотим предоставить дополнительную информацию нашему пользователю с цветами (например, красный означает, что что-то случилось неправильно). Мы можем изменить цвет фона тоста, установив цветной фильтр на представление, которое нам дает наш тост (здесь я использую 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();

А также можно изменить цвет текста, если фон светлый или темный:

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

Изменить положение тоста

Мы можем изменить наш тост, используя метод SetGravity. Этот метод принимает три параметра: во-первых, гравитация тоста на экране, а две другие устанавливают тост, смещенный от исходного положения (которое задается первым параметром):

//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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow