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.
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
-
Para obtener información sobre cómo superponer recursos y por qué hacerlo, consulta Superposiciones en Personaliza la IU del sistema.
-
Para obtener más información sobre las notificaciones, consulta Notificaciones en el SO Android Automotive en developer.android.com.
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.
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.
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.
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.
![]() |
![]() |
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); } }