Notificaciones de advertencia

Una notificación es un mensaje que Android muestra fuera de una aplicación para proporcionar actualizaciones, recordatorios y otra información oportuna a los usuarios. En el sistema operativo Android Automotive, una notificación se puede mostrar como una notificación de alerta (HUN) o en el panel de notificaciones (o en ambos). Este artículo explica cómo personalizar los HUN.

Notificación

Figura 1. Notificación

Al anular los valores de configuración que se detallan a continuación, puede personalizar los HUN de dos maneras:

  • Posición
  • Animación

Al personalizar un HUN, asegúrese de determinar cómo se verá afectado por el orden Z de las barras del sistema. Si el orden Z de una barra del sistema es 10 o superior, aparecerá encima de los HUN. Por ejemplo, si el HUN se muestra en la parte superior de la pantalla y la barra del sistema superior tiene un orden Z de 10, la barra del sistema superior se mostrará en la parte superior del HUN a menos que el asistente de animación HUN esté personalizado para compensar el final. posición del HUN por la altura de la barra superior del sistema.

Documentación relacionada

config_showHeadsUpNotificationOnBottom

Se puede mostrar un HUN en la parte superior o inferior de la pantalla según el valor de configuración config_showHeadsUpNotificationOnBottom . Establecido en 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. Notificación de advertencia predeterminada

config_headsUpNotificationAnimationHelper

Hay varias formas de cómo la notificación debe aparecer en la pantalla y salir de la pantalla. Se proporciona un conjunto de clases auxiliares de animación predeterminadas que se pueden cambiar anulando config_headsUpNotificationAnimationHelper .

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

Anima al HUN para que haga la transición desde la posición inicial hasta la posición final, a visible y luego a invisible.

Mejor ayudante de animación

Figura 3. Asistente de animación superior

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

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

Ayudante de animación inferior

Figura 4. Asistente de animación inferior

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

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

Ayudante de animación derechoAyudante de animación derecho

Figura 5. Asistente de animación derecho

Ayudante de animación personalizado

En caso de que se requiera una personalización adicional, las clases auxiliares de animador se pueden anular o se puede usar una clase auxiliar 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);
   }
}