Notifications prioritaires

Une notification est un message qu'Android affiche en dehors d'une application pour fournir aux utilisateurs des mises à jour, des rappels et d'autres informations opportunes. Dans Android Automotive OS, une notification peut s'afficher sous forme de notification prioritaire ou dans le panneau de notification (ou dans les deux). Cette page explique comment personnaliser les HUN.

Notification

Figure 1 : Notification

En remplaçant les valeurs de configuration détaillées ci-dessous, vous pouvez personnaliser les HUN de deux manières:

  • Position
  • Animation

Lorsque vous personnalisez un HUN, veillez à déterminer comment il est affecté par l'ordre Z des barres système. Si l'ordre Z d'une barre système est égal ou supérieur à 10, elle s'affiche au-dessus des HUN. Par exemple, si l'élément HUN s'affiche en haut de l'écran et que la barre système supérieure a un ordre Z de 10, la barre système supérieure s'affiche au-dessus de l'élément HUN sauf si l'assistant d'animation de l'élément HUN est personnalisé pour décaler la position finale de l'élément HUN de la hauteur de la barre système supérieure.

Documentation associée

  • Pour savoir comment et pourquoi superposer des ressources, consultez la section Superpositions dans la section "Personnaliser l'UI du système".

  • Pour en savoir plus sur les notifications, consultez la page Notifications sur Android Automotive OS sur developer.android.com.

config_showHeadsUpNotificationOnBottom

Un HUN peut s'afficher en haut ou en bas de l'écran en fonction de la valeur de configuration config_showHeadsUpNotificationOnBottom. Par défaut, cette valeur est définie sur false. Elle définit la position finale de la notification en haut de l'écran.

Notification par défaut

Figure 2. HUN par défaut

config_headsUpNotificationAnimationHelper

Il existe plusieurs façons d'afficher et de quitter l'écran. Un ensemble de classes d'assistance d'animateur par défaut est fourni et peut être remplacé en remplaçant config_headsUpNotificationAnimationHelper.

com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper

Anime l'élément utilisateur non interactif pour qu'il passe de la position initiale à la position finale, puis de la visibilité à l'invisibilité.

Top Animation Helper

Figure 3. Top Animation Helper

com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationBottomAnimationHelper

Anime l'élément utilisateur non interactif pour qu'il passe de la position initiale à la position finale, puis à l'état visible, puis à l'état invisible.

Aide à l'animation inférieure

Figure 4. Aide à l'animation inférieure

com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationRightAnimationHelper

Anime l'élément HUN pour qu'il passe de la position initiale à gauche à la position finale, puis à l'état visible, puis à l'état invisible.

Aide à l'animation de droite Aide à l'animation de droite

Figure 5. Aide à l'animation droite

Aide pour les animations personnalisées

Si une personnalisation supplémentaire est requise, les classes d'aide de l'animateur peuvent être remplacées ou une classe d'aide d'animateur personnalisée peut être utilisée, à condition que la classe d'aide implémente l'interface HeadsUpNotificationAnimationHelper, comme illustré dans cet extrait de code:

[...]

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