Heads-up-Benachrichtigungen, Heads-up-Benachrichtigungen

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.

Benachrichtigung

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

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.

Standardbenachrichtigung

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.

Top-Animationshelfer

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.

Unterer Animationshelfer

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.

Richtiger AnimationshelferRichtiger Animationshelfer

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);
   }
}