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.
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
-
Si deseas obtener información sobre cómo y por qué superponer recursos, consulta Superposiciones en Cómo personalizar 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
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.
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.
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.
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.
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); } }