抬頭通知

通知是 Android 在應用程式外部顯示的一條訊息,用於向用戶提供更新、提醒和其他及時資訊。在 Android Automotive OS 中,通知可以顯示為平視通知 (HUN)或通知面板(或兩者)。本頁介紹如何自訂 HUN。

通知

圖 1.通知

透過覆寫下面詳細介紹的設定值,您可以透過兩種方式自訂 HUN:

  • 位置
  • 卡通

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

相關文件

config_showHeadsUpNotificationOnBottom

根據設定值config_showHeadsUpNotificationOnBottom ,HUN 可以顯示在螢幕的頂部或底部。預設為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);
   }
}