Używaj skalowalnego interfejsu, aby tworzyć zaawansowane, dynamiczne i wielopanelowe środowiska użytkownika w samochodach. Skalowalny interfejs:
Zapewnia elastyczny system okien.
Minimalizuje ryzyko, koszty i złożoność związane z pakietem testów zgodności (CTS) w przypadku implementacji interfejsu użytkownika.
Skalowalny interfejs użytkownika obsługuje wiele nowoczesnych samochodowych systemów multimedialnych (IVI), które wymagają dynamicznych układów okien.
Android 17 wprowadza te funkcje związane z zaawansowanym zarządzaniem oknami:
- Wdrażanie paneli powiadomień
- Dostosowywanie pasków systemowych
- Maksymalizowanie zgodności testów z niezmiennikami WindowManager
- Zintegruj Kreatora konfiguracji
Przykładowe doświadczenia
Skalowalny interfejs użytkownika umożliwia nieskończoną liczbę konfiguracji okien. Oto kilka przykładowych scenariuszy utworzonych w celu przetestowania skalowalnego interfejsu:
Tło mapy z pływającymi aplikacjami
Konfiguracja tła mapy z innymi aplikacjami wyświetlanymi na wierzchu.
Tło aplikacji
Konfiguracja tła aplikacji z pływającymi panelami.
Przypięta aplikacja pod innymi aplikacjami
Przypięta aplikacja, np. kontener widżetów, z innymi aplikacjami uruchamianymi na wierzchu.
Warunkowy pływający panel
Warunkowy panel pływający, który pojawia się tylko wtedy, gdy zostaną spełnione określone warunki, np. podczas odtwarzania multimediów lub gdy zostanie aktywowany alert.
Przypięta aplikacja bliżej kierowcy
Przypięta aplikacja umieszczona bliżej kierowcy.
Układ podzielonego ekranu
Układ podzielonego ekranu z 2 aplikacjami wyświetlanymi obok siebie.
Interaktywny podzielony ekran
Interaktywny układ podzielonego ekranu umożliwiający dynamiczną zmianę rozmiaru.
Układ z wieloma punktami kotwiczenia na dużych ekranach
Układ z wieloma kotwicami zaprojektowany z myślą o dużych ekranach.
Karuzela aplikacji na ekranie głównym
Układ ekranu głównego z karuzelą aplikacji.
Korzyści i zgodność
Zalety skalowalnego interfejsu:
Mniejsze ryzyko testów: platforma jest wstępnie certyfikowana i zgodna z CTS, co eliminuje główne ryzyko niepowodzenia testów na późnym etapie cyklu programu. Skalowalny interfejs może zaoszczędzić miesiące pracy inżynierów i przyspieszyć osiągnięcie zgodności.
Większa elastyczność projektowania: sprawdzona możliwość odtworzenia wielu złożonych, istniejących już modeli okien samochodowych. Skalowalny interfejs użytkownika obsługuje ambitne i wysoce zróżnicowane projekty.
Mniejsza złożoność implementacji: abstrakcja do modelu XML wysokiego poziomu opartego na konfiguracji obniża próg wejścia dla niestandardowej logiki okien.
Lepsza wydajność: skalowalny interfejs użytkownika działa na wydajnej platformie okien, która jest w pełni zintegrowana ze standardowym Androidem. Przejścia są płynne, co umożliwia bezpośrednią optymalizację.
Podstawowe elementy
Skalowalny interfejs użytkownika minimalizuje potrzebę stosowania kodu specyficznego dla producenta OEM, ułatwia aktualizację i zmniejsza ryzyko związane z wprowadzaniem na rynek, eliminując pułapki i ograniczając problemy z certyfikacją.
Podejście oparte na XML rozwiązuje typowe problemy związane z zarządzaniem złożonymi systemami okien w systemie operacyjnym Android Automotive (AAOS), takie jak precyzyjne pozycjonowanie, konflikty kolejności Z i skupienie aplikacji.
Skalowalny interfejs użytkownika udostępnia te podstawowe elementy.
Panel
Panel to podstawowy prostokątny kontener na ekranie. Każdy panel jest powiązany z osobnym zadaniem głównym, co umożliwia niezależne zarządzanie. Panel może zawierać zadania aplikacji (TaskPanel) lub treści oparte na widokach, takie jak widżety (DecorPanel). Więcej informacji znajdziesz w artykule Konfigurowanie panelu.
Wariant
Wersja określa konkretny stan wizualny panelu i zawiera właściwości takie jak bounds (pozycja i rozmiar), visibility, layer (kolejność Z) i promień corner. Jeden panel może mieć warianty, np. opened, closed lub minimized. Więcej informacji znajdziesz w artykule Używanie wariantu do projektowania stanu wizualnego.
Przejście
Przejście określa, jak panel przechodzi z bieżącego stanu fromVariant do nowego stanu toVariant. Event wywołuje przejście, które określa animację używaną przez panel podczas zmiany stanu. Panel powinien przejść z bieżącego stanu do stanu toVariant. W przypadku synchronizacji podstawowy menedżer okien animuje i koordynuje wszystkie przejścia.
- Zdarzenie: reguła inicjująca zmianę interfejsu. Producent OEM lub system mogą wstępnie zdefiniować wyzwalacz. Może to być na przykład
_System_OnHomeEvent,_System_TaskOpenEventlub naciśnięcie niestandardowego przycisku nawigacji.
Na przykład interfejs skalowalny używa zdarzeń do aktywowania przejść. Te przejścia animują panel z jednego wariantu do drugiego, aby wyświetlać dynamiczne zmiany w interfejsie. Skalowalny interfejs użytkownika przekazuje te zmiany do innych aplikacji systemowych, aby w razie potrzeby dostosować treść. Definiując relacje interfejsu w XML, możesz:
Określ złożone zachowania interfejsu: zdefiniuj złożone interakcje z interfejsem użytkownika.
Rozmieszczanie systemów okien: kontroluj pozycjonowanie i warstwy okien.
Wdrażaj motywy wizualne: stosuj spójną identyfikację wizualną i estetykę.
Zmniejsz złożoność kodu: zminimalizuj potrzebę tworzenia rozbudowanego kodu niestandardowego.
Więcej informacji znajdziesz w artykule Konfigurowanie przejścia.
Przyciski interfejsu systemu
Oprócz wywoływania intencji CarSystemBarButtons może wywoływać zdarzenie skalowalnego interfejsu po kliknięciu za pomocą atrybutów event, selectedEvent i unselectedEvent.
event opisuje zdarzenie, które ma zostać wywołane po kliknięciu przycisku. Jeśli potrzebujesz bardziej szczegółowej kontroli nad zdarzeniem, użyj atrybutów selectedEvent i unselectedEvent, aby określić zdarzenie, które ma być wywoływane odpowiednio po wybraniu lub odznaczeniu przycisku.
Kiedy wdrażać interfejs systemu
W tej sekcji opisujemy optymalne zastosowania skalowalnego interfejsu.
- Tworzenie trwałych układów wielopanelowych
- Wdrażanie dynamicznej sceny głównej
- Stosowanie nakładek kontekstowych
- Projektowanie złożonych interakcji z panelem
Tworzenie trwałych układów wielopanelowych
Utwórz środowisko wielostrefowe, w którym różne obszary ekranu są na stałe przeznaczone do określonych funkcji. Może to być np. panel sterowania multimediami, pasek klimatyzacji lub mapa na pełnym ekranie.
Używaj TaskPanels w przypadku aplikacji podstawowych (np. nawigacji) i DecorPanels w przypadku elementów interfejsu w postaci widoków, które muszą być umieszczone między TaskPanels.
Wdrażanie dynamicznej sceny domowej
Wdrażaj scenę Home składającą się z wielu paneli aplikacji, które są widoczne jednocześnie i interaktywne. Na przykład mapa, odtwarzacz multimediów i siatka aplikacji.
Aby przekształcić wszystkie odpowiednie panele w ich warianty domowe opened lub default, skonfiguruj _System_HomeEvent.
Stosowanie nakładek kontekstowych
Umieszczaj elementy interfejsu inne niż aplikacje, takie jak widżety kontekstowe, niestandardowe elementy marki i paski przeciągania, które można animować w koordynacji z zadaniami aplikacji.
Używaj elementu DecorPanels w przypadku wszystkich elementów, które mają charakter wyłącznie dekoracyjny lub służą do hostowania widżetów. Jeśli widżet zawiera w pełni funkcjonalną aplikację, którą można uruchomić, optymalnym rozwiązaniem jest Panel > TaskPanel. Używaj elementu DecorPanels w przypadku elementów interfejsu opartych na widoku, gdy warstwy muszą być zsynchronizowane z warstwami TaskPanel.
Projektowanie złożonych interakcji z panelem
Projektuj zaawansowane działania użytkownika, takie jak dynamiczna zmiana rozmiaru panelu aplikacji czy dostosowywanie widoków zestawu wskaźników na podstawie treści wyświetlanych na głównym ekranie.
Zdefiniuj niestandardowe Events, aby wywoływać określone, niestandardowe Transitions.