Head-up уведомления, Head-up уведомления

Уведомление — это сообщение, которое Android отображает вне приложения, чтобы предоставлять пользователям обновления, напоминания и другую своевременную информацию. В ОС Android Automotive уведомление может отображаться либо в виде хедз-ап-уведомления (HUN), либо на панели уведомлений (или в обоих случаях). На этой странице объясняется, как настроить HUN.

Уведомление

Рисунок 1. Уведомление

Переопределив значения конфигурации, подробно описанные ниже, вы можете настроить HUN двумя способами:

  • Позиция
  • Анимация

При настройке HUN обязательно определите, как на него влияет Z-порядок системных панелей. Если Z-порядок системной панели равен 10 или выше, она отображается поверх HUN. Например, если HUN отображается в верхней части экрана, а верхняя системная панель имеет Z-порядок 10, верхняя системная панель отображается поверх HUN , если только помощник анимации HUN не настроен на смещение конечного положения. HUN на высоту верхней системной панели.

Сопутствующая документация

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);
   }
}