2025 年 3 月 27 日より、AOSP のビルドとコントリビューションには aosp-main
ではなく android-latest-release
を使用することをおすすめします。詳細については、AOSP の変更をご覧ください。
ヘッドアップ通知
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
通知とは、Android がアプリ外で表示するメッセージであり、アップデートやリマインダーなどのタイムリーな情報をユーザーに提供します。Android Automotive OS の場合、通知はヘッドアップ通知(HUN)として、または通知パネル内で表示できます(両方も可能)。このページでは、HUN をカスタマイズする方法について説明します。

図 1:通知
下記の設定値をオーバーライドすることにより、HUN の 2 つの要素をカスタマイズできます。
HUN をカスタマイズする際は、システムバーの Z オーダーからどのような影響を受けるか必ず確認してください。システムバーの Z オーダーが 10 以上の場合、システムバーは HUN の上に重ねて表示されます。たとえば、HUN が画面の上部に表示され、上部システムバーの Z オーダーが 10 である場合、上部システムバーは HUN の上に重ねて表示されます。ただし、HUN アニメーション ヘルパーをカスタマイズし、上部システムバーの高さを考慮して HUN の最終位置を設定している場合は、その限りではありません。
関連ドキュメント
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);
}
}
このページのコンテンツやコードサンプルは、コンテンツ ライセンスに記載のライセンスに従います。Java および OpenJDK は Oracle および関連会社の商標または登録商標です。
最終更新日 2025-07-27 UTC。
[[["わかりやすい","easyToUnderstand","thumb-up"],["問題の解決に役立った","solvedMyProblem","thumb-up"],["その他","otherUp","thumb-up"]],[["必要な情報がない","missingTheInformationINeed","thumb-down"],["複雑すぎる / 手順が多すぎる","tooComplicatedTooManySteps","thumb-down"],["最新ではない","outOfDate","thumb-down"],["翻訳に関する問題","translationIssue","thumb-down"],["サンプル / コードに問題がある","samplesCodeIssue","thumb-down"],["その他","otherDown","thumb-down"]],["最終更新日 2025-07-27 UTC。"],[],[],null,["# Heads-up notifications\n\nA *notification* is a message that Android displays outside an app to provide\nupdates, reminders, and other timely information to users. In the Android Automotive OS, a\nnotification can be displayed either as a *heads-up notification (HUN)* or in the\nNotification panel (or in both). This page explains how to customize HUNs.\n\n**Figure 1.** Notification\n\nBy overriding the configuration values detailed below, you can customize HUNs in two ways:\n\n- Position\n- Animation\n\nWhen customizing a HUN, be sure to determine how it is affected by the Z-order\nof system bars. If the Z-order of a system bar is 10 or higher, it appears on top of\nthe HUNs. For example, if the HUN is displayed at the top of the screen and the top\nsystem bar has a Z-order of 10, the top system bar is displayed on top of the HUN\n*unless* the HUN animation helper is customized to offset the final position of\nthe HUN by the height of the top system bar.\n\nRelated documentation\n---------------------\n\n- To learn how and why to overlay resources, see\n [Overlays](/docs/core/architecture/rros)\n in Customizing System UI.\n\n- To learn more about notifications, see\n [Notifications on Android Automotive OS](https://developer.android.com/training/cars/notifications)\n on developer.android.com.\n\nconfig_showHeadsUpNotificationOnBottom\n--------------------------------------\n\nA HUN can be displayed either on the top or bottom of the screen based\non the configuration value `config_showHeadsUpNotificationOnBottom`.\nSet to `false` by default, this value sets the final position of the\nnotification at the *top* of the screen.\n\n**Figure 2.** Default HUN\n\nconfig_headsUpNotificationAnimationHelper\n-----------------------------------------\n\nThere are multiple ways of how the notification should appear on screen and\nleave the screen. A set of default animator helper classes are provided and can\nbe switched out by overriding `config_headsUpNotificationAnimationHelper`.\n\n#### com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper\n\nAnimates the HUN to transition from the initial position, down to the final position,\nto visible, and then to invisible.\n\n**Figure 3.** Top Animation Helper\n\n#### com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationBottomAnimationHelper\n\nAnimates the HUN to transition from the initial position, to the final position,\nto visible, and then to invisible.\n\n**Figure 4.** Bottom Animation Helper\n\n#### com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationRightAnimationHelper\n\nAnimates the HUN to transition from the initial position left, to the\nfinal position, to visible, and then to invisible.\n\n|---|---|\n| | |\n\n**Figure 5.** Right Animation Helper\n\n#### Custom animation helper\n\nShould additional customization be required, the animator helper\nclasses can be overridden or a custom animator helper class can be used\nprovided the help class implements the `HeadsUpNotificationAnimationHelper`\ninterface as shown in this code snippet: \n\n```ini\n[...]\n\npublic class SampleAnimationHelper implements\n HeadsUpNotificationAnimationHelper {\n\n @Override\n public AnimatorSet getAnimateInAnimator(Context context, View view) {\n return (AnimatorSet) AnimatorInflater.loadAnimator(\n context, R.animator.heads_up_notification_transition_in);\n }\n\n @Override\n public AnimatorSet getAnimateOutAnimator(Context context, View view) {\n return (AnimatorSet) AnimatorInflater.loadAnimator(\n context, R.animator.heads_up_notification_transition_out);\n }\n\n @Override\n public void resetHUNPosition(View view) {\n view.setY(-1 * view.getHeight());\n view.setAlpha(0);\n }\n}\n```"]]