Erweitertes Windowing implementieren

In diesem Abschnitt werden optimale Anwendungsfälle für die skalierbare Benutzeroberfläche beschrieben.

Funktion aktivieren

Legen Sie das erforderliche Flag in der Konfigurationsdatei der System-UI (config.xml oder ähnlich) fest:

<bool name="config_enableScalableUI">true</bool>

Systemkonfiguration prüfen

Prüfen Sie, ob Ihr System die erforderliche Funktion enthält und alle alten oder in Konflikt stehenden Fensterfunktionen deaktiviert:

  • Das System muss die Funktion android.software.car.splitscreen_multitasking enthalten.

  • Prüfen Sie, ob alle Legacy-Fenster- oder Split-Screen-Funktionen, die mit dem neuen Root-Task-Modell in Konflikt stehen, deaktiviert sind.

Panels und Varianten definieren

Wenn Sie alle Konfigurationsdateien deklarieren möchten, die Panel-Konfigurationen enthalten, fügen Sie eine Array-Ressource mit dem Namen window_states hinzu.

Für die Rollenzuordnung müssen Panels das Attribut role verwenden, um den Apps zugeordnet zu werden, in denen sie gehostet werden. role verweist auf ein Array von Komponentennamen, z. B. role="@array/nav_components.

Übergänge definieren

Definieren Sie in jeder Felddefinition die Übergänge, indem Sie System- oder benutzerdefinierte Ereignisse einer Zielvariante zuordnen. So definieren Sie beispielsweise das Verhalten für das Navigationsfeld:

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