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.
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
Para saber cómo y por qué superponer recursos, consulte Superposiciones en la personalización de la interfaz de usuario del sistema.
Para obtener más información sobre las notificaciones, consulte Notificaciones en el sistema operativo Android Automotive en developer.android.com.
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.
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.
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.
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.
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); } }