Уведомление — это сообщение, которое Android отображает вне приложения, чтобы предоставлять пользователям обновления, напоминания и другую своевременную информацию. В ОС Android Automotive уведомление может отображаться либо в виде хедз-ап-уведомления (HUN), либо на панели уведомлений (или в обоих случаях). На этой странице объясняется, как настроить HUN.
Рисунок 1. Уведомление
Переопределив значения конфигурации, подробно описанные ниже, вы можете настроить HUN двумя способами:
- Позиция
- Анимация
При настройке HUN обязательно определите, как на него влияет Z-порядок системных панелей. Если Z-порядок системной панели равен 10 или выше, она отображается поверх HUN. Например, если HUN отображается в верхней части экрана, а верхняя системная панель имеет Z-порядок 10, верхняя системная панель отображается поверх HUN , если только помощник анимации HUN не настроен на смещение конечного положения. HUN на высоту верхней системной панели.
Сопутствующая документация
Чтобы узнать, как и зачем накладывать ресурсы, см. раздел «Наложения в настройке пользовательского интерфейса системы».
Дополнительную информацию об уведомлениях см. в разделе «Уведомления в Android Automotive OS» на сайте Developer.android.com.
config_showHeadsUpNotificationOnBottom
HUN может отображаться либо вверху, либо внизу экрана в зависимости от значения конфигурации config_showHeadsUpNotificationOnBottom
. По умолчанию установлено значение false
. Это значение устанавливает конечное положение уведомления в верхней части экрана.
Рисунок 2. HUN по умолчанию
config_headsUpNotificationAnimationHelper
Существует несколько способов отображения уведомления на экране и его выхода за пределы экрана. Предоставляется набор вспомогательных классов аниматора по умолчанию, которые можно отключить путем переопределения config_headsUpNotificationAnimationHelper
.
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper
Анимирует HUN для перехода из исходного положения в конечное, в видимое, а затем в невидимое.
Рисунок 3. Главный помощник по анимации
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationBottomAnimationHelper
Анимирует HUN для перехода из исходного положения в конечное, в видимое, а затем в невидимое.
Рисунок 4. Помощник нижней анимации
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationRightAnimationHelper
Анимирует HUN для перехода из исходного положения влево в конечное положение, в видимое, а затем в невидимое.
Рисунок 5. Правый помощник по анимации
Пользовательский помощник по анимации
Если потребуется дополнительная настройка, вспомогательные классы аниматора можно переопределить или использовать собственный вспомогательный класс аниматора при условии, что вспомогательный класс реализует интерфейс HeadsUpNotificationAnimationHelper
, как показано в этом фрагменте кода:
[...] public class SampleAnimationHelper implements HeadsUpNotificationAnimationHelper { @Override public AnimatorSet getAnimateInAnimator(Context context, View view) { return (AnimatorSet) AnimatorInflater.loadAnimator( context, R.animator.heads_up_notification_transition_in); } @Override public AnimatorSet getAnimateOutAnimator(Context context, View view) { return (AnimatorSet) AnimatorInflater.loadAnimator( context, R.animator.heads_up_notification_transition_out); } @Override public void resetHUNPosition(View view) { view.setY(-1 * view.getHeight()); view.setAlpha(0); } }