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
Włączanie funkcji
Ustaw flagę wymaganą w pliku konfiguracji interfejsu systemu (config.xml
lub podobnym):
<bool name="config_enableScalableUI">true</bool>
Sprawdzanie konfiguracji systemu
Sprawdź, czy system zawiera wymaganą funkcję i czy wyłączone są starsze lub powodujące konflikty funkcje okien:
System musi zawierać funkcję:
android.software.car.splitscreen_multitasking
Sprawdź, czy wszystkie starsze funkcje okien lub dzielenia ekranu, które są sprzeczne z nowym modelem zadania głównego, są wyłączone.
Definiowanie paneli i wariantów
Aby zadeklarować wszystkie pliki konfiguracyjne zawierające konfiguracje Panel
, dodaj zasób tablicy o nazwie window_states
.
Aby rozwiązać problem z mapowaniem ról, panele muszą używać atrybutu role
, który ma być mapowany na aplikacje, w których są hostowane. role
odwołuje się do tablicy nazw komponentów, np.
role="@array/nav_components
.
Określanie przejść
W każdej definicji panelu określ przejścia, mapując zdarzenia systemowe lub niestandardowe na wariant docelowy. Aby na przykład zdefiniować zachowanie panelu nawigacyjnego:
<Transitions>
<Transition onEvent="_System_TaskOpenEvent" toVariant="@id/opened"/>
<Transition onEvent="_System_HomeEvent" toVariant="@id/closed"/>
<Transition onEvent="@string/event_system_nav_focus_lost" toVariant="@id/minimized"/>
</Transitions>