抬頭通知

通知是 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);
   }
}