Uma notificação é uma mensagem que o Android exibe fora de um aplicativo para fornecer atualizações, lembretes e outras informações oportunas aos usuários. No Android Automotive OS, uma notificação pode ser exibida como uma notificação de alerta (HUN) ou no painel de notificação (ou em ambos). Este artigo explica como personalizar HUNs.
Figura 1. Notificação
Ao substituir os valores de configuração detalhados abaixo, você pode personalizar os HUNs de duas maneiras:
- Posição
- Animação
Ao personalizar um HUN, certifique-se de determinar como ele será afetado pela ordem Z das barras do sistema. Se a ordem Z de uma barra do sistema for 10 ou superior, ela aparecerá no topo dos HUNs. Por exemplo, se o HUN for exibido na parte superior da tela e a barra superior do sistema tiver uma ordem Z de 10, a barra superior do sistema será exibida na parte superior do HUN, a menos que o auxiliar de animação HUN seja personalizado para compensar o final. posição do HUN pela altura da barra superior do sistema.
Documentação relacionada
Para saber como e por que sobrepor recursos, consulte Sobreposições na personalização da interface do usuário do sistema.
Para saber mais sobre notificações, consulte Notificações no Android Automotive OS em developer.android.com.
config_showHeadsUpNotificationOnBottom
Um HUN pode ser exibido na parte superior ou inferior da tela com base no valor de configuração config_showHeadsUpNotificationOnBottom
. Definido como false
por padrão, esse valor define a posição final da notificação na parte superior da tela.
Figura 2. Notificação de Alerta Padrão
config_headsUpNotificationAnimationHelper
Existem várias maneiras de como a notificação deve aparecer na tela e sair da tela. Um conjunto de classes auxiliares de animador padrão é fornecido e pode ser desativado substituindo config_headsUpNotificationAnimationHelper
.
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationTopAnimationHelper
Anima o HUN para fazer a transição da posição inicial para a posição final, para visível e depois para invisível.
Figura 3. Auxiliar de animação superior
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationBottomAnimationHelper
Anima o HUN para fazer a transição da posição inicial para a posição final, para visível e depois para invisível.
Figura 4. Auxiliar de animação inferior
com.android.car.notification.headsup.animationhelper.CarHeadsUpNotificationRightAnimationHelper
Anima o HUN para fazer a transição da posição inicial esquerda para a posição final, para visível e depois para invisível.
Figura 5. Assistente de Animação Direito
Ajudante de animação personalizada
Caso seja necessária uma personalização adicional, as classes auxiliares do animador podem ser substituídas ou uma classe auxiliar do animador personalizada pode ser usada, desde que a classe de ajuda implemente a interface HeadsUpNotificationAnimationHelper
, conforme mostrado neste trecho 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); } }