Методические указания по выполнению лабораторных работ по дисциплине «программирование мобильных устройств»


Лабораторная работа 6. Всплывающие уведомления / toastnotification



Pdf көрінісі
бет9/30
Дата20.10.2023
өлшемі3,51 Mb.
#186972
түріМетодические указания
1   ...   5   6   7   8   9   10   11   12   ...   30
Байланысты:
15.-Metod LR Programmirovanie-mobil nyh-ustroistv 09.03.02 2021
1-Зертхана, Linux3lab (1)
Лабораторная работа 6. Всплывающие уведомления / toastnotification 
ToastNotification – всплывающее уведомление, которое появляется поверх 
приложения и исчезает через некоторое время. Всплывающее уведомление также 
может быть создано службой, работающей в фоновом режиме. Обычно 
всплывающее уведомление содержит короткий текст уведомляющего характера. 
Для создания уведомления необходимо инициализировать объект Toast при 
помощи метода makeText(). Для отображения на экране нужно вызвать метод 
show(). 
Toast toast = Toast.makeText(getApplicationContext(), 
"Текст уведомления", Toast.LENGTH_SHORT); 
toast.show(); У метода makeText() есть три параметра: 

контекстприложения;



текстовоесообщение;



продолжительность времени показауведомления.

Константыпродолжительностипоказауведомления 
Имеются две константы для указания продолжительности показа 
уведомления: 

LENGTH_SHORT

 
является константой по умолчанию,
 
показывает
 
уведомление в течение двухсекунд;



LENGTH_LONG

 
показывает уведомление в течение
 
3,5с.

Позиция на экране 
По умолчанию место появления всплывающего уведомления – внизу. Для 62 


изменения местоположения необходимо вызвать метод setGravity(), который 
принимает три параметра: 

константа для размещения объекта в пределах контейнера 
(Gravity.CENTER, Gravity.TOP и др.); 

смещение по осиX;



смещение по осиY.

Пример 
Добавляем кнопку, присваиваем атрибуту onClick значение showToast. 
Напишем метод showToast. 
public void showToast(View view) { 
Toast toast = Toast.makeText(getApplicationContext(), "Your 
message", Toast.LENGTH_SHORT); 
toast.setGravity(Gravity.CENTER, 0, 0); 
toast.show(); } 
Запустив приложение и нажав на кнопку, получим всплывающее 
уведомление по центру экрана, без смещений с указанным нами текстом, через две 
секунды после появления уведомление скрывается (рис. 6.1). 
Рис. 6.1. 
Экран приложения с
 
ToastNotification
 
63 


Начиная с версии Android 4.4, всплывающие уведомления получили 
скругления, с версии Android 5.1 около уведомления отображается логотип 
приложения. 
Если простого текстового сообщения недостаточно, можно создать 
собственный дизайн разметки уведомления. Для получения разметки из XML-
файла и работы с ней в программе используется класс LayoutInflater и его методы – 
getLayoutInflater() 
или 
getSystemService(), 
которые 
возвращают 
объект 
LayoutInflater. Затем вызовом метода inflate() получают корневой объект view этой 
разметки. 
Например, 
для 
файла 
разметки 
уведомления 
с 
именем 
notification_layout.xml 
и 
его 
корневого 
элемента 

идентификатором 
android:id="@+id/toast_layout" код будет таким: 
LayoutInflater inflater = getLayoutInflater(); 
View 
layout 

inflater.inflate(R.layout.
notification_layout

(ViewGroup) 
findViewById(R.id.
toast_layout
)); 
Код notification_layout.xml: 
android:id="@+id/toast_layout" android:orientation="vertical" 
android:layout_width="match_parent" android:layout_height="match_parent" 
android:padding="10dp" android:background="#DAAA"> 
android:layout_height="190dp" android:layout_marginRight="10dp" 
android:background="@drawable/shrek_cat" /> 
android:layout_width="wrap_content" android:layout_height="match_parent" 
android:text="Your message" android:textColor="#FFF777" /> 
 
И
следом укажем методом setView() у объекта toast, укажем Viewlayout в 
качестве того контейнера, который мы хотим отобразить в всплывающем 
уведомлении, и покажем его (рис.6.2): 
toast.setView(layout); toast.show(); 
64 


Рис. 6.2. 
Экран приложения с
 
ToastNotification
 
со своим
 
Layout
 


Достарыңызбен бөлісу:
1   ...   5   6   7   8   9   10   11   12   ...   30




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет