In diesem Abschnitt wird beschrieben, wie Sie die Referenz-App für das Steuerfeld und die Benutzeroberfläche anpassen können.
User-Flows und Benutzeroberfläche
In diesem Abschnitt werden die Nutzerabläufe und das Starten des Control Centers beschrieben.
Launch Control Center
Sie können das Kontrollzentrum über den App-Launcher oder ein Symbol in der Navigationsleiste der System-UI starten. Das Symbol wird nur in Builds angezeigt, in denen Nutzer im Hintergrund sichtbar sind. Weitere InformationenUserHandleAware
Sie können das Kontrollzentrum jederzeit aufrufen. Das Kontrollzentrum besteht aus einer Kombination aus durchscheinenden Fenstern und transparenten Hintergründen, sodass es über jeder anderen App angezeigt werden kann, auch über Videos und Medien, die gerade wiedergegeben werden. Auf der Landingpage der App:
- Die Anordnung der Bildschirme und die Verwendung von lokalen und Remote-Bildschirmen.
- Die Bildschirme, auf denen Medien und Mediensteuerelemente angezeigt werden.
- Auf jedem Bildschirm wird eine detaillierte Ansicht der Mediensteuerelemente (und mehr) angezeigt.
Die Anordnung der Displays entspricht dem Layout der Displays 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 die Steuerzentrale geöffnet ist, wird ein anderer Bildschirm mit einem hell hervorgehobenen Rahmen angezeigt. Dies ist der lokale Bildschirm, also der Bildschirm, der gerade verwendet wird.
Jeder zweite Bildschirm ist ein Remote-Bildschirm, der ein anderes Display im Auto darstellt. Sie können ihn anhand der Anordnung der Bildschirme im Fragment identifizieren. Verwenden Sie CarOccupantZoneManager#getAllOccupantZones, um die Gesamtzahl der im Fahrzeug konfigurierten Insassenzonen zu berechnen.
Auf jedem Bildschirm wird ein benutzerdefiniertes Attribut controlcenter:occupantZoneId definiert, um Daten der jeweiligen Belegungszone zuzuordnen. Wenn eine Media-App auf einem bestimmten Display wiedergegeben wird, wird auf dem entsprechenden Bildschirm das Albumcover der Medien angezeigt. Unter dem Bildschirm wird die Schaltfläche Wiedergeben (oder Pausieren) angezeigt.
Wenn die aktive Media-App eine sichtbare Aufgabe ist (hinter dem Kontrollzentrum geöffnet), wird neben der Schaltfläche Wiedergeben die Schaltfläche Teilen aktiviert, um die Spiegelungsseite zu öffnen. Mit Teilen können Sie die Anzeige der Media-App teilen. Diese Funktion ist am nützlichsten für Media-Apps mit Videoinhalten.
Bildschirmelemente
Wenn Sie auf einen Bildschirm tippen, wird eine detaillierte Ansicht der auf dem Display wiedergegebenen Medien angezeigt. Das ist der Bildschirm mit den Details. In der Ansicht werden Medienmetadaten wie Titel, Wiedergabefortschritt und Künstler angezeigt. Diese Tasten bieten zusätzliche Steuerungsmöglichkeiten für den Innenraum.
Unter Audioausgabe wird angezeigt, über welche Audioausgabe die Medien wiedergegeben werden, z. B. über die Lautsprecher im Fahrzeug oder über Kopfhörer. Audioausgabe öffnet ein Dialogfeld, in dem Sie die Audioausgabe und die Medienlautstärke ändern können.
Mit Display Input Lock wird die Eingabe auf dem Bildschirm gesperrt. Dieser Vorgang kann nicht auf dem Fahrerdisplay ausgeführt werden.
Mit Display Power wird die Stromversorgung des Displays unterbrochen. Dieser Vorgang kann nicht auf dem Fahrerdisplay ausgeführt werden.
In der Ansicht Details wird die Schaltfläche Teilen angezeigt, die du antippen kannst, wenn die Medien eine sichtbare Aufgabe hinter der Control Center App sind. Wenn du auf Teilen tippst, wird die Spiegelungsseite geöffnet:
Gemeinsames Ansehen starten
Die Spiegelungsseite ähnelt der Landingpage, da sie ein RRO verwendet.
Wenn du einen Bildschirm für die gemeinsame Wiedergabe hinzufügen möchtest, tippe auf den Bildschirm und dann auf Fertig.
Dadurch wird ein Mirroring Activity geöffnet, in dem die freigegebene App gehostet wird. Außerdem werden schwebende, vorübergehende Steuerelemente angezeigt, mit denen du die gemeinsame Wiedergabe beenden oder die Spiegelungsseite wieder aufrufen kannst, um Teilnehmer hinzuzufügen oder zu entfernen.
Zusammenfassung
Hier finden Sie eine Zusammenfassung der verschiedenen Seiten im Kontrollzentrum.
Richtlinien zur Anpassung
Control Center verwendet die Car UI Library, mit der Sie die Benutzeroberfläche anpassen können. Sie bietet ein Basis-Theme und eine Struktur, die Sie unverändert übernehmen oder gemäß diesen Einschränkungen ändern können.
| Personalisierung | Beschreibung |
|---|---|
| SOLLTE |
Sie können das allgemeine Design und den Stil über ein RRO anpassen, z. B.:
|
| MAI | Die allgemeine Benutzeroberflächenstruktur des Kontrollzentrums ändern. |
Das Kontrollzentrum gehört zu einer Reihe von System-Apps, zu denen auch „Media“, „Notification Center“ und „App Launcher“ gehören. Diese Apps verwenden Stile und Assets, die auf verschiedenen Ebenen der AOSP-Struktur definiert sind:
framework/base/coreTheme.DeviceDefault, dem Design, das für die Verwendung durch OEMs entwickelt wurde, um das Standarddesign von Geräten 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 wird und in car-ui-lib definiert ist. ControlCenterActivity verwendet Theme.Transparent, das Theme.CarUi erweitert.Um einen Ablauf zu unterstützen, bei dem die gespiegelte Aufgabe sichtbar sein muss (z. B. beim gemeinsamen Ansehen von Videos), verwendet das Kontrollzentrum 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>