Notificaciones de atención

Una notificación es un mensaje que Android muestra fuera de una app para proporcionar actualizaciones, recordatorios y otra información oportuna a los usuarios. En el SO Android Automotive, una notificación se puede mostrar como una notificación emergente (HUN) o en el panel de notificaciones (o en ambos). En esta página, se explica cómo personalizar los HUN.

Notificación

Figura 1: Notificación

Si anulas los valores de configuración que se detallan a continuación, puedes personalizar los HUN de dos maneras:

  • Posición
  • Animación

Cuando personalices un HUN, asegúrate de determinar cómo se ve afectado por el orden en Z de las barras del sistema. Si el orden en Z de una barra del sistema es 10 o superior, aparece sobre los HUN. Por ejemplo, si la HUN se muestra en la parte superior de la pantalla y la barra del sistema superior tiene un orden en Z de 10, la barra del sistema superior se muestra sobre la HUN a menos que se personalice el asistente de animación de la HUN para compensar la posición final de la HUN por la altura de la barra del sistema superior.

Documentación relacionada

config_showHeadsUpNotificationOnBottom

Un HUN se puede mostrar en la parte superior o inferior de la pantalla según el valor de configuración config_showHeadsUpNotificationOnBottom. De forma predeterminada, este valor se establece en false y establece la posición final de la notificación en la parte superior de la pantalla.

Notificación predeterminada

Figura 2: HUN predeterminado

config_headsUpNotificationAnimationHelper

Hay varias formas en que la notificación debe aparecer en la pantalla y abandonarla. Se proporciona un conjunto de clases auxiliares de animador predeterminados que se pueden cambiar anulando config_headsUpNotificationAnimationHelper.

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

Anima el HUN para que realice la transición de la posición inicial a la posición final, de visible a invisible.

Ayudante de animación destacado

Figura 3: Ayudante de animación destacado

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

Anima el HUN para que realice la transición de la posición inicial a la posición final, a la visible y, luego, a la invisible.

Ayudante de animación inferior

Figura 4: Ayudante de animación inferior

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

Anima el HUN para que realice la transición de la posición inicial a la izquierda, a la posición final, a la visible y, luego, a la invisible.

Ayudante de animación derecha Ayudante de animación derecha

Figura 5: Ayudante de animación derecha

Asistente de animación personalizada

Si se requiere una personalización adicional, se pueden anular las clases de ayuda del animador o se puede usar una clase de ayuda de animador personalizada, siempre que la clase de ayuda implemente la interfaz HeadsUpNotificationAnimationHelper, como se muestra en este fragmento de código:

[...]

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