通知是 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
根據設定值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); } }