Wdrażanie zaawansowanego okienkowania

W tej sekcji opisujemy optymalne zastosowania skalowalnego interfejsu.

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>