Урок 12(2). Всплывающие сообщения (Toast Notification) | Android Studio

 

Во второй части урока 12 мы познакомимся со всплывающими сообщениями, или уведомлениями (Toast Notification).
Тост имеет размер, необходимый для отображения сообщения в нем, и отображается поверх активити, которое при этом остается доступным для пользователя.

Сообщение отображается несколько секунд и закрывается.

Как правило, всплывающее уведомление используется для показа коротких текстовых сообщений.

Всплывающее уведомление также может быть создано службой, работающей в фоновом режиме, но можно и самим создавать всплывающие сообщения с помощью класса Toast.

Инициализируем объект класса Toast.

Toast toast = Toast.makeText(MainActivity.this, "Нажата кнопка 1", Toast.LENGTH_LONG);

Статический метод makeText создает View для отображения текста уведомления.

Параметры метода:

  • MainActivity.this — context – это объект, который предоставляет доступ к базовым функциям приложения: доступ к ресурсам, к файловой системе, вызов активити и т.д. Activity является подклассом Context, поэтому в коде мы можем использовать её как ИмяАктивити.this, или укороченную запись this.
    Мы здесь используем MainActivity.this, т.е. текущую Activity.
  • «Нажата кнопка 1» — text – текст, который надо показать
  • Toast.LENGTH_LONG — duration – продолжительность показа (Toast.LENGTH_LONG — длинная, Toast.LENGTH_SHORT — короткая), уведомления выводятся на 3 с половиной секунды или на 2 секунды соответственно. Других вариантов нет, насколько мне известно.

Toast создан и чтобы он отобразился на экране, вызывается метод show().

toast.show();

По умолчанию стандартное всплывающее уведомление появляется в нижней части экрана. Изменить место появления уведомления можно с помощью метода setGravity(int, int, int).

Метод принимает три параметра:

  • стандартная константа для размещения объекта в пределах большего контейнера (например, GRAVITY.CENTER, GRAVITY.TOP и др.);
  • смещение по оси X;
  • смещение по оси Y.
    Например, если вы хотите, чтобы уведомление появилось в центре экрана, то используйте следующий код:
toast.setGravity(Gravity.CENTER, 0, 0);

Обычно Toast показывает короткие текстовые сообщения. Но можно также добавить к сообщению и картинку с помощью метода setView().

Поместите картинку в папку drawable вашего проекта. В коде создайте программно объект класса ImageView и установите для него изображение из ресурсов с помощью метода setImageResource.  Toast состоит из контейнера LinearLayout, в который нужно добавить созданный объект ImageView. Можно задать также позицию, в которую следует вывести изображение. Если указать значение 0, то изображение будет показано выше текста.

LinearLayout toastImage = (LinearLayout) toast.getView();
ImageView imageView = new ImageView(MainActivity.this);
imageView.setImageResource(R.drawable.logo);
toastImage.addView(imageView, 0)

Боле подробно смотрите в видео:

Весь плейлист

Задать вопрос в группе взаимопомощи Вконтакте для начинающих ANDROID разработчиков и программистов
Скачать видеоуроки
Поддержите наш проект

Скачать исходный код проекта

Понравилась статья? Поделиться с друзьями:
Комментарии: 1
Добавить комментарий