Eine Benachrichtigung ist eine Nachricht, die Android außerhalb einer App anzeigt, um Benutzern Aktualisierungen, Erinnerungen und andere zeitnahe Informationen bereitzustellen. Im Android Automotive OS kann eine Benachrichtigung entweder als Heads-up-Benachrichtigung (HUN) oder im Benachrichtigungsfeld (oder in beiden) angezeigt werden. Auf dieser Seite wird erläutert, wie Sie HUNs anpassen.
Abbildung 1. Benachrichtigung
Durch Überschreiben der unten aufgeführten Konfigurationswerte können Sie HUNs auf zwei Arten anpassen:
- Position
- Animation
Achten Sie beim Anpassen eines HUN darauf, zu ermitteln, wie es von der Z-Reihenfolge der Systemleisten beeinflusst wird. Wenn die Z-Reihenfolge einer Systemleiste 10 oder höher ist, wird sie über den HUNs angezeigt. Wenn beispielsweise das HUN oben auf dem Bildschirm angezeigt wird und die obere Systemleiste eine Z-Reihenfolge von 10 hat, wird die obere Systemleiste oben auf dem HUN angezeigt, es sei denn, der HUN-Animationshelfer ist so angepasst, dass er die endgültige Position versetzt des HUN um die Höhe der oberen Systemleiste.
Dazugehörige Dokumentation
Informationen dazu, wie und warum Ressourcen überlagert werden, finden Sie unter „Überlagerungen“ in „Anpassen der Systembenutzeroberfläche“.
Weitere Informationen zu Benachrichtigungen finden Sie unter Benachrichtigungen unter Android Automotive OS auf Developer.android.com.
config_showHeadsUpNotificationOnBottom
Ein HUN kann basierend auf dem Konfigurationswert config_showHeadsUpNotificationOnBottom
entweder oben oder unten auf dem Bildschirm angezeigt werden. Dieser Wert ist standardmäßig auf false
gesetzt und legt die endgültige Position der Benachrichtigung am oberen Bildschirmrand fest.
Abbildung 2. Standard-HUN
config_headsUpNotificationAnimationHelper
Es gibt mehrere Möglichkeiten, wie die Benachrichtigung auf dem Bildschirm erscheinen und den Bildschirm verlassen soll. Es wird eine Reihe standardmäßiger Animator-Hilfsklassen bereitgestellt, die durch Überschreiben von config_headsUpNotificationAnimationHelper
ausgetauscht werden können.
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper
Animiert den HUN zum Übergang von der Anfangsposition zur Endposition, in den sichtbaren und dann in den unsichtbaren Zustand.
Abbildung 3. Top-Animationshelfer
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationBottomAnimationHelper
Animiert den HUN zum Übergang von der Anfangsposition zur Endposition, in den sichtbaren und dann in den unsichtbaren Zustand.
Abbildung 4. Unterer Animationshelfer
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationRightAnimationHelper
Animiert den HUN zum Übergang von der Anfangsposition links zur Endposition, in den sichtbaren und dann in den unsichtbaren Zustand.
Abbildung 5. Rechter Animationshelfer
Benutzerdefinierter Animationshelfer
Sollten zusätzliche Anpassungen erforderlich sein, können die Animator-Hilfsklassen überschrieben werden oder eine benutzerdefinierte Animator-Hilfsklasse verwendet werden, vorausgesetzt, die Hilfeklasse implementiert die HeadsUpNotificationAnimationHelper
Schnittstelle, wie in diesem Codeausschnitt gezeigt:
[...] 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); } }