提醒通知

通知是 Android 在應用程序外部顯示的消息,用於向用戶提供更新、提醒和其他及時信息。在 Android Automotive OS 中,通知可以顯示為平視通知 (HUN)或通知面板(或兩者都顯示)。本文介紹如何自定義 HUN。

通知

圖 1.通知

通過覆蓋下面詳述的配置值,您可以通過兩種方式自定義 HUN:

  • 位置
  • 動畫

自定義 HUN 時,請務必確定它將如何受系統欄的 Z 順序影響。如果系統欄的 Z 順序為 10 或更高,它將出現在 HUN 的頂部。例如,如果 HUN 顯示在屏幕頂部並且頂部系統欄的 Z 順序為 10,則頂部系統欄將顯示在 HUN 頂部,除非自定義 HUN 動畫助手以偏移最終HUN 的位置由頂部系統欄的高度決定。

相關文檔

  • 要了解覆蓋資源的方式和原因,請參閱自定義系統 UI 中的覆蓋

  • 要了解有關通知的更多信息,請參閱 developer.android.com上的 Android Automotive OS上的通知。

config_showHeadsUpNotificationOnBottom

HUN 可以根據配置值config_showHeadsUpNotificationOnBottom顯示在屏幕的頂部或底部。默認設置為false ,此值設置通知在屏幕頂部的最終位置。

默認通知

圖 2.默認提示通知

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