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