通知是指 Android 在应用外部显示的消息,用于向用户提供更新、提醒和其他及时信息。在 Android Automotive OS 中,通知可以显示为 Heads-up 通知 (HUN) 或在通知面板中(或两者都显示)。本页面介绍了如何自定义 HUN。
图 1. 通知
通过替换下文详述的配置值,您可以通过两种方式自定义 HUN
- 位置
- 动画
自定义 HUN 时,请务必确定系统栏的 Z 轴顺序对其有何影响。如果系统栏的 Z 轴顺序为 10 或更高,则它会显示在 HUN 的顶部。例如,如果 HUN 显示在屏幕顶部,并且顶部系统栏的 Z 轴顺序为 10,则顶部系统栏将显示在 HUN 的顶部,除非自定义 HUN 动画辅助程序以按顶部系统栏的高度偏移 HUN 的最终位置。
相关文档
-
要了解如何以及为何叠加资源,请参阅自定义系统界面中的叠加层。
-
要详细了解通知,请参阅 developer.android.com 上的Android Automotive OS 上的通知。
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); } }