Notifiche in evidenza

Una notifica è un messaggio che Android visualizza all'esterno di un'app per fornire aggiornamenti, promemoria e altre informazioni tempestive agli utenti. Nel sistema operativo Android Automotive, una notifica può essere visualizzata come notifica heads-up (HUN) o nel pannello delle notifiche (o in entrambi). Questa pagina spiega come personalizzare gli HUN.

Notifica

Figura 1. Notifica

Sostituendo i valori di configurazione descritti di seguito, è possibile personalizzare gli HUN in due modi:

  • Posizione
  • Animazione

Quando personalizzi un HUN, assicurati di determinare come viene influenzato dall'ordine Z delle barre di sistema. Se l'ordine Z di una barra di sistema è 10 o superiore, appare sopra gli HUN. Ad esempio, se l'HUN viene visualizzato nella parte superiore dello schermo e la barra di sistema superiore ha un ordine Z pari a 10, la barra di sistema superiore viene visualizzata sopra l'HUN a meno che l'helper dell'animazione HUN non sia personalizzato per compensare la posizione finale dell'HUN per l'altezza della barra di sistema superiore.

Documentazione correlata

config_showHeadsUpNotificationOnBottom

Un HUN può essere visualizzato nella parte superiore o inferiore dello schermo in base al valore di configurazione config_showHeadsUpNotificationOnBottom . Impostato su false per impostazione predefinita, questo valore imposta la posizione finale della notifica nella parte superiore dello schermo.

Notifica predefinita

Figura 2. HUN predefinito

config_headsUpNotificationAnimationHelper

Esistono diversi modi in cui la notifica dovrebbe apparire sullo schermo e uscire dallo schermo. Viene fornita una serie di classi helper dell'animatore predefinite che possono essere disattivate sovrascrivendo config_headsUpNotificationAnimationHelper .

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

Anima l'HUN per la transizione dalla posizione iniziale, fino alla posizione finale, al visibile e quindi all'invisibile.

Il miglior aiuto per l'animazione

Figura 3. Assistente per l'animazione principale

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

Anima l'HUN per la transizione dalla posizione iniziale, alla posizione finale, al visibile e quindi all'invisibile.

Assistente per l'animazione in basso

Figura 4. Assistente per l'animazione in basso

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

Anima l'HUN per la transizione dalla posizione iniziale a sinistra, alla posizione finale, a visibile e quindi a invisibile.

Giusto aiutante per l'animazioneGiusto aiutante per l'animazione

Figura 5. Assistente per l'animazione destra

Assistente per l'animazione personalizzata

Qualora fosse necessaria un'ulteriore personalizzazione, le classi helper dell'animatore possono essere sovrascritte oppure è possibile utilizzare una classe helper dell'animatore personalizzata a condizione che la classe help implementi l'interfaccia HeadsUpNotificationAnimationHelper come mostrato in questo snippet di codice:

[...]

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