Ostrzeżenie

Powiadomienie to wiadomość wyświetlana przez system Android poza aplikacją, która zawiera aktualne informacje, przypomnienia i inne informacje. W systemie operacyjnym Android Automotive powiadomienie może być wyświetlane jako powiadomienie w ramce funkcji heads-up (HUN) lub w panelu powiadomień (lub w obu miejscach). Z tej strony dowiesz się, jak dostosowywać HUN.

Powiadomienie

Rysunek 1. Powiadomienie

Zastępując wartości konfiguracji podane poniżej, możesz dostosowywać HUN na 2 sposoby:

  • Pozycja
  • Animacja

Podczas dostosowywania niestandardowego elementu treści w układzie poziomym należy określić, jak wpływa na niego kolejność pozioma systemu. Jeśli kolejność nakładania elementów paska systemu wynosi 10 lub więcej, pasek ten wyświetla się nad paskami HUN. Jeśli na przykład HUN jest wyświetlany u góry ekranu, a górny pasek systemu ma porządek Z równy 10, górny pasek systemu jest wyświetlany nad HUN, chyba że pomocnik animacji HUN jest dostosowany do przesunięcia końcowej pozycji HUN o wysokość górnego paska systemu.

Powiązana dokumentacja

config_showHeadsUpNotificationOnBottom

Użytkownik może wyświetlić HUN u góry lub u dołu ekranu w zależności od wartości konfiguracji config_showHeadsUpNotificationOnBottom. Domyślnie jest to false. Ta wartość określa ostateczną pozycję powiadomienia w górnej części ekranu.

Powiadomienie domyślne

Rysunek 2. Domyślny HUN

config_headsUpNotificationAnimationHelper

Powiadomienie może pojawiać się na ekranie i z niego znikać na różne sposoby. Dostępny jest zestaw domyślnych klas pomocniczych animatora, które można zastąpić, zastępując je parametrem config_headsUpNotificationAnimationHelper.

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

Animacja przejścia HUN z pozycji początkowej do końcowej, a następnie do widocznej i niewidocznej.

Najlepszy pomocnik w tworzeniu animacji

Rysunek 3. Najlepszy pomocnik w tworzeniu animacji

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

Przejście z pozycji początkowej do końcowej, widocznej, a następnie niewidocznej.

Pomoc dotycząca animacji dolnej

Rysunek 4. Pomoc dotycząca animacji dolnej

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

Animacja przejścia HUN z początkowej pozycji po lewej do końcowej pozycji, a następnie do widocznej i niewidocznej.

Pomocnik animacji po prawej stronie Pomocnik animacji po prawej stronie

Rysunek 5. Prawy element animacji

Pomoc dotycząca niestandardowych animacji

Jeśli wymagane jest dodatkowe dostosowanie, możesz zastąpić klasy pomocnicze animatora lub użyć niestandardowej klasy pomocniczej animatora, o ile klasa pomocnicza implementuje interfejs HeadsUpNotificationAnimationHelper, jak pokazano w tym fragmencie kodu:

[...]

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);
   }
}