Notifiche in evidenza

Una notifica è un messaggio che Android mostra 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 in primo piano (HUN) o nel riquadro delle notifiche (o in entrambi). Questa pagina spiega come personalizzare gli HUN.

Notifica

Figura 1. Notifica

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

  • Posizione
  • Animazione

Quando personalizzi un HUN, assicurati di determinare in che modo è interessato dall'ordine Z delle barre di sistema. Se l'ordine Z di una barra di sistema è pari o superiore a 10, viene visualizzata sopra i 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 di animazione HUN non sia personalizzato per compensare la posizione finale dell'HUN con l'altezza della barra di sistema superiore.

Documentazione correlata

  • Per scoprire come e perché sovrapporre le risorse, consulta la sezione Sovrapposte in Personalizzazione dell'interfaccia utente di sistema.

  • Per scoprire di più sulle notifiche, consulta Notifiche su Android Automotive OS su developer.android.com.

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 deve apparire sullo schermo e uscirne. È fornito un insieme di classi di assistenza per gli animatori predefinite che possono essere sostituite sostituendo config_headsUpNotificationAnimationHelper.

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

Anima l'HUN per passare dalla posizione iniziale a quella finale, da visibile a invisibile.

Assistente all'animazione di primo livello

Figura 3. Assistente all'animazione di primo livello

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

Anima l'HUN per passare dalla posizione iniziale a quella finale, da visibile a invisibile.

Assistente animazione in basso

Figura 4. Assistente animazione in basso

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

Anima l'HUN per passare dalla posizione iniziale a sinistra, alla posizione finale, a visibile e poi a invisibile.

Assistente animazione giusto Assistente animazione giusto

Figura 5. Assistente animazione a destra

Assistente per l'animazione personalizzata

Se è necessaria una personalizzazione aggiuntiva, le classi di assistenza dell'animatore possono essere sostituite o è possibile utilizzare una classe di assistenza dell'animatore personalizzata, a condizione che la classe di assistenza 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);
   }
}