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 para los usuarios. En el SO Android Automotive, una notificación se puede mostrar como una notificación de atención (HUN) o en la Panel de notificaciones (o en ambos) En esta página, se explica cómo personalizar las HUN.

Notificación

Figura 1: Notificación

Puedes personalizar las HUN de dos maneras si anulas los valores de configuración que se detallan a continuación:

  • Posición
  • Animación

Al personalizar una HUN, asegúrate de determinar cómo la afecta el orden en Z. de las barras del sistema. Si el orden Z de una barra del sistema es 10 o superior, aparece en la parte superior de las HUNs. Por ejemplo, si la HUN se muestra en la parte superior de la pantalla y en la barra del sistema tiene un orden en Z de 10, la barra superior del sistema se muestra sobre la HUN. a menos que el asistente de animación de la HUN esté personalizado para desplazar la posición final de la HUN por la altura de la barra superior del sistema.

Documentación relacionada

config_showHeadsUpNotificationOnBottom

Se puede mostrar una HUN en la parte superior o inferior de la pantalla según en el valor de configuración config_showHeadsUpNotificationOnBottom. Configurado como false de forma predeterminada, este valor establece la posición final de la notificación en la parte superior de la pantalla.

Notificación predeterminada

Figura 2: HUN predeterminada

config_headsUpNotificationAnimationHelper

Hay varias maneras de cómo debe aparecer la notificación en la pantalla y salir de la pantalla. Se proporciona un conjunto de clases auxiliares de animador predeterminadas que pueden anularse anulando config_headsUpNotificationAnimationHelper.

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

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

Mejor asistente de animación

Figura 3: Mejor asistente de animación

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

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

Asistente de animación inferior

Figura 4: Asistente de animación inferior

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

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

Asistente de animación derecho Asistente de animación derecho

Figura 5: Asistente de animación correcto

Asistente de animación personalizada

En caso de que se requiera personalización adicional, el asistente del animador se pueden anular clases o se puede usar una clase auxiliar de animador personalizado siempre que la clase de ayuda implemente el HeadsUpNotificationAnimationHelper interfaz 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);
   }
}