In diesem Abschnitt wird beschrieben, wie Sie die Referenz-App „Control Center“ und die Benutzeroberfläche anpassen können.
Nutzerabläufe und Benutzeroberfläche
In diesem Abschnitt werden die Nutzerabläufe und das Starten von Control Center beschrieben.
Control Center starten
Sie können Control Center über den App-Launcher oder ein Symbol in der Navigationsleiste der System-UI starten. Das Symbol wird nur in Builds angezeigt, in denen
sichtbare Nutzer im Hintergrund aktiviert sind. Weitere Informationen finden Sie unter UserHandleAware.
Sie können Control Center jederzeit aufrufen. Control Center besteht aus einer Kombination aus durchscheinenden Fenstern und transparenten Hintergründen, sodass es über jeder anderen App angezeigt werden kann, einschließlich Videos und Medien, die gerade wiedergegeben werden. Auf der Landingpage der App:
- Bildschirmaufteilung und Verwendung von lokalen und Remote-Bildschirmen.
- Bildschirme mit Medien und Mediensteuerelementen.
- Wie auf jedem Bildschirm eine detaillierte Ansicht der Medien- und anderer Steuerelemente angezeigt wird.
Die Anordnung der Bildschirme entspricht dem Layout der Bildschirme im Fahrzeug. Jeder Bildschirm ist ein DevicePickerScreen. Verwenden Sie ein RRO (Runtime Resource Overlay), um die Position und Größe der einzelnen Bildschirme anzupassen. Weitere Informationen finden Sie unter
Wert der Ressourcen einer App zur Laufzeit ändern.
Für jedes Display, auf dem Control Center geöffnet ist, wird ein anderer Bildschirm mit einem hell hervorgehobenen Rahmen angezeigt. Dies ist der lokale Bildschirm, das verwendete Display.
Alle anderen Bildschirme sind Remote-Bildschirme , die ein anderes Display im Auto darstellen. Sie können sie anhand der Anordnung der Bildschirme im Fragment identifizieren. Verwenden Sie CarOccupantZoneManager#getAllOccupantZones, um die Gesamtzahl der im
Fahrzeug konfigurierten Zonen für Insassen zu berechnen.
Jeder Bildschirm definiert ein benutzerdefiniertes Attribut controlcenter:occupantZoneId , um Daten der jeweiligen Zone für Insassen zuzuordnen. Wenn eine Media-App auf einem bestimmten Display wiedergegeben wird, wird auf dem entsprechenden Bildschirm das Albumcover angezeigt. Unter dem Bildschirm wird die Schaltfläche Wiedergabe (oder Pause ) angezeigt.
Wenn die aktive Media-App eine sichtbare Aufgabe ist (hinter Control Center geöffnet), ist die Schaltfläche Teilen neben der Schaltfläche Wiedergabe aktiviert, um die Seite Spiegeln zu öffnen. Mit Teilen können Sie die Anzeige der Media-App teilen. Das ist besonders nützlich für Media-Apps mit Videos.
Bildschirmelemente
Wenn Sie auf einen Bildschirm tippen, wird eine detaillierte Ansicht der Medien angezeigt, die auf dem Display wiedergegeben werden. Dies wird als Bildschirm mit Details bezeichnet. In der Ansicht werden Metadaten zu Medien wie Titel, Wiedergabefortschritt und Interpret angezeigt. Mit diesen Schaltflächen können Sie die Zone für Insassen zusätzlich steuern.
Unter Audioausgabe wird angezeigt, über welche Audioausgabe die Medien wiedergegeben werden, z. B. über die Lautsprecher im Fahrzeug oder Kopfhörer. Wenn Sie auf Audioausgabe tippen, wird ein Dialogfeld geöffnet, in dem Sie die Audioausgabe und die Lautstärke der Medien ändern können.
Mit Displayeingabe sperren wird die Eingabe auf dem Bildschirm gesperrt. Dieser Vorgang kann nicht auf den Bildschirm des Fahrers angewendet werden.
Mit Display ausschalten wird das Display ausgeschaltet. Dieser Vorgang kann nicht auf den Bildschirm des Fahrers angewendet werden.
In der Ansicht Details wird die Schaltfläche Teilen angezeigt, auf die Sie tippen können, wenn die Medien eine sichtbare Aufgabe hinter der Control Center-App sind. Wenn Sie auf Teilen tippen, wird die Seite Spiegeln geöffnet:
Sitzung für das gemeinsame Ansehen starten
Die Seite Spiegeln ähnelt der Landingpage und verwendet ein RRO.
Wenn Sie einen Bildschirm für das gemeinsame Ansehen hinzufügen möchten, tippen Sie auf den Bildschirm und dann auf Fertig.
Dadurch wird eine Mirroring Activity geöffnet, in der die freigegebene App gehostet wird. Außerdem werden temporäre Steuerelemente angezeigt, mit denen Sie die Sitzung für das gemeinsame Ansehen beenden oder die Seite Spiegeln wieder aufrufen können, um Teilnehmer hinzuzufügen oder zu entfernen.
Zusammenfassung
Hier finden Sie eine Zusammenfassung der verschiedenen Seiten in Control Center.
Richtlinien zur Anpassung
Control Center verwendet die Car UI-Bibliothek, um Ihnen die Anpassung zu ermöglichen. Es bietet ein Basisthema und eine Basisstruktur, die unverändert übernommen oder gemäß diesen Einschränkungen geändert werden können.
| Anpassung | Beschreibung |
|---|---|
| SOLLTE |
Allgemeines Design und Styling über ein RRO anpassen, z. B.:
|
| KANN | Die übergeordnete UI-Struktur von Control Center ändern. |
Control Center gehört zu einer Reihe von System-Apps, darunter Media, Notification Center und App-Launcher. Diese Apps verwenden gemeinsame Stile und Assets, die auf verschiedenen Ebenen der AOSP-Struktur definiert sind:
framework/base/coreTheme.DeviceDefault, dem Design, das von OEMs verwendet werden kann, um die Standarddarstellung des Geräts anzupassen.packages/services/Car/car_product/overlay:Theme.DeviceDefault, die verwendet werden, um das AOSP-Look-and-Feel von Android Automotive zu erzeugen. OEMs können dieses Overlay ausschließen und stattdessen ein eigenes verwenden.packages/apps/Car/libs/car-ui-lib:packages/apps/Car/libs/car-apps-common:packages/services/Car/car_product/overlay).packages/apps/Car/MultiDisplay/ControlCenter:Theme.CarUi abgeleitet ist und in car-ui-lib definiert ist. ControlCenterActivity verwendet das benutzerdefinierte Theme.Transparent, das von Theme.CarUi abgeleitet ist.Um einen Ablauf zu unterstützen (z. B. das gemeinsame Ansehen, bei dem die gespiegelte Aufgabe sichtbar sein muss), verwendet Control Center eine Kombination aus durchscheinenden Fenstern und transparenten Hintergründen, die die App nicht in den Hintergrund verschieben oder Lifecycle events senden.
<style name="Theme.Transparent" parent="@style/Theme.CarUi.NoToolbar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@color/transparent</item>
</style>