Всплывающие сообщения

By | 24.01.2014

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

Для вывода всплывающих сообщений используется класс Toast.

Для задания текста сообщения мы используем метод makeText(), тем самым мы инициализируем объект Toast. Но посколько этот метод статический, нам нет необходимости создавать экземпляр класса Toast.

Опишем сигнатуру метода makeText():
public static Toast makeText (Context context, CharSequence text, int duration)

А теперь разбираем всё по-порядку.

  • Context context — вместо контекста используем пока текущую активити
  • CharSequence text — здесь вводится сам текст сообщения
  • int duration — и задаётся продолжительно отображения. Есть следующие варианты:
    • Toast.LENGTH_LONG (3500) — показывать долго
    • Toast.LENGTH_SHORT (2000) — быстро показать и скрыть

Ну и пример реального кода:

Toast.makeText(this,  «Сообщаем, что приложение выполнило как-то действие», Toast.LENGTH_LONG).show();

Если Вы хотите изменить положение тоста, например сделать его верху или низу контейнера, укажите его гравити через метод setGravity(). Пример кода:

Toast toast = Toast.makeText(this, "Сообщаем, что приложение выполнило как-то действие", Toast.LENGTH_SHORT);
toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();

В конце вызываем метод show() чтобы вывести сообщение.