Во второй части урока 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 разработчиков и программистов
Скачать видеоуроки
Поддержите наш проект