Предупреждающие уведомления

Уведомление — это сообщение, которое 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. Уведомление по умолчанию

config_headsUpNotificationAnimationHelper

Существует несколько способов того, как уведомление должно появляться на экране и покидать его. Предоставляется набор вспомогательных классов аниматора по умолчанию, которые можно отключить, переопределив config_headsUpNotificationAnimationHelper .

com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper

Анимирует HUN для перехода из начального положения вниз в конечное положение, в видимое, а затем в невидимое.

Лучший помощник по анимации

Рисунок 3. Top Animation Helper

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