Przegląd

Korzystaj z 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 szeroką gamę nowoczesnych systemów informacyjno-rozrywkowych w pojazdach (IVI), które wymagają dynamicznego rozmieszczenia okien.

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 okienkowania.

  • Większa wydajność: skalowalny interfejs użytkownika jest oparty na bardzo wydajnym systemie okien, w pełni zintegrowanym ze standardowym Androidem. Przejścia są płynne i można je zoptymalizować.

Podstawowe elementy

Skalowalny interfejs użytkownika minimalizuje potrzebę stosowania kodu specyficznego dla producenta OEM, ułatwia aktualizację i zmniejsza ryzyko związane z wprowadzeniem produktu na rynek, eliminując problemy i ograniczając kwestie związane z certyfikacją.

Podejście oparte na XML rozwiązuje typowe problemy związane z zarządzaniem złożonymi systemami okien w AAOS, takie jak precyzyjne pozycjonowanie, konflikty kolejności Z i fokus 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ść na osi 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. Przejście może być wywoływane przez Event i może definiować animację, która będzie odtwarzana podczas zmiany stanu panelu. Panel powinien przejść z bieżącego stanu do stanu toVariant. W przypadku synchronizacji wszystkie przejścia są animowane i koordynowane przez podstawowy Menedżer okien.

  • 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_TaskOpenEvent lub naciśnięcie niestandardowego przycisku nawigacji.

Na przykład skalowalny interfejs użytkownika używa zdarzeń do aktywowania przejść. Te przejścia animują panel z jednego wariantu do drugiego, aby wyświetlać dynamiczne zmiany w interfejsie. Te zmiany są przekazywane 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 uruchamiania intencji CarSystemBarButtons może uruchamiać zdarzenie ScalableUI 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

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. Może to być np. mapa, odtwarzacz multimediów lub 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 o charakterze wyłącznie dekoracyjnym lub zawierających widżety. Jeśli widżet hostuje w pełni funkcjonalną aplikację, którą można uruchomić, optymalne jest użycie symbolu 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 ekranie głównym.

Zdefiniuj niestandardowe Events, aby wywoływać określone, niestandardowe Transitions.