Medien gehören zu einer Reihe von Systemanwendungen (z. B. Dialer und App Launcher). Diese Anwendungen haben gemeinsame Stile und Ressourcen, die auf verschiedenen Ebenen in der AOSP-Struktur definiert sind.
-
framework/base
. Alle Android-Basisstile werden hier definiert. -
packages/services/Car/car_product/overlay
. Enthält Build-Time-Overlays, die Standard-Framework/Basisressourcen modifizieren, um das AOSP-Look-and-Feel von Android Automotive OS zu erzeugen. OEMs können dieses Overlay ausschließen und ihr eigenes verwenden. -
packages/apps/Car/libs/car-ui-lib
. Diese Bibliothek definiert AAOS-Komponenten und -Ressourcen, die für Systemanwendungen und entbündelte Anwendungen, die für die Anpassung ausgelegt sind, gemeinsam sind. Einzelheiten finden Sie im Integrationsleitfaden für die Auto-UI-Bibliothek . -
packages/apps/Car/libs/car_app_common
. Gemeinsame Farben und Stile, die von Automotive-Systemanwendungen gemeinsam genutzt werden. OEMs können Overlays verwenden, um diese Elemente anzupassen (ähnlich wie oben beschriebencar_product/overlay
). -
packages/apps/Car/libs/car_media_common
. Enthält Elemente, die zwischen Medien und anderen Medien-UIs geteilt werden. Zum Beispiel das Medien-Widget des Startbildschirms. packages/apps/Car/Media.
Alle Systemanwendungen verwenden ihr eigenes Design, das sich vonTheme.CarUi
erstreckt, wie incar-ui-lib
definiert.
Android Automotive AOSP bietet zwei Präsentationen von Medien.
- Medien-UI. Ermöglicht Benutzern, sich anzumelden, Inhalte zu durchsuchen und detaillierte Wiedergabesteuerungen zu verwenden.
- Medien-Widget für den Startbildschirm. Aktiviert die Verwendung der wichtigsten Steuerungsfunktionen für die Medienwiedergabe auf dem Startbildschirm.
Medien-Benutzeroberfläche
Diese Abbildung beschreibt die Struktur der Medien-UI:
Abbildung 1. Media-Benutzeroberfläche
Einzelheiten zu UX- und UI-Richtlinien sowie zur räumlichen Struktur der verschiedenen Komponenten von Media finden Sie unter Räumliches Modell .
AppBarView: Symbolleiste
Die Medien-UI-Symbolleiste ist eine Komponente, die mit anderen Systemanwendungen wie Dialer und Radio geteilt wird. Informationen zum Anpassen der Symbolleiste finden Sie im Integrationsleitfaden für die Auto-UI-Bibliothek .
Maximale Grafikgröße für Medien
Um Medien-Apps über die maximale Größe des abzurufenden Bildmaterials zu informieren, können Siemedia_items_bitmap_max_size_px
in Ihrem System überlagern. Senden Sie dazu EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
als Root-Hinweis. Dadurch sparen Sie beim Herunterladen von Bildern Bandbreite. Weitere Informationen finden Sie unter MediaConstants auf developer.android.com.Fragment durchsuchen
Browse besteht hauptsächlich aus einem Car UI RecyclerView , das die Bildlaufleistenposition, Pfeile und Ränder verarbeitet und Elemente verschiedener Typen durchsuchen kann, z. B. Kopfzeilen, Rasterelemente, Symbolrasterelemente, Listenelemente und Symbollistenelemente.
Minimierte Wiedergabesteuerung
Wenn das Durchsuchen-Fragment angezeigt wird und wenn ein Medienelement ausgewählt wird, wird eine minimierte Wiedergabesteuerungsansicht angezeigt. Die folgende Abbildung veranschaulicht den Aufbau dieser Ansicht:
Abbildung 2. Minimierte Wiedergabesteuerung
Liste durchsuchen
Entwickler können eine Reihe von Stilhinweisen verwenden (siehe Anwenden von Inhaltsstilen ), um die Darstellung von Inhalten zum Durchsuchen von Medien anzupassen. OEMs müssen sich an diese Stile halten und die Präsentation an ihr Designsystem anpassen.
Unterstützte Artikeltypen und die jeweiligen Layouts befinden sich wie folgt:
-
LIST_ITEM
(media_browse_list_item.xml
). Wird häufig für Episoden in einem Podcast verwendet, z. B. Playlist-Elemente und Favoriten. -
ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). Wird für Kategorien oder Menüoptionen verwendet, bei denen das im Medienelement enthaltene Bild kein eigentliches Albumcover, sondern ein Symbol ist. -
GRID_ITEM
(media_browse_grid_item.xml
). Wird häufig für spielbare Elemente wie Songs oder Wiedergabelisten verwendet. -
ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
). Wird für Kategorien verwendet, ähnlich wieICON_LIST_ITEM
. -
HEADER
(media_browse_header_item.xml
). Wird verwendet, um Medienelemente in Abschnitte zu organisieren.
Wiedergabebildschirm
Um diesen Bildschirm anzuzeigen, erweitern Sie die minimierten Wiedergabesteuerungen:
- Aktuell wiedergegebene Medienelement-Metadaten (einschließlich Titel und Untertitel).
- Vollständige Wiedergabesteuerung.
- Wiedergabewarteschlange (wird verwendet, um kürzlich abgespielte oder als nächstes abzuspielende Elemente anzuzeigen).
Die Komponenten des Wiedergabebildschirms sind in den folgenden Abbildungen gekennzeichnet.
Abbildung 3. Wiedergabebildschirm
Der Wiedergabebildschirm teilt die Symbolleiste nicht mit dem Rest der Anwendung. Stattdessen werden die Elemente am oberen Rand des Bildschirms individuell von diesem Bildschirm verwaltet.
Wiedergabesteuerung
Der Wiedergabebildschirm enthält einen erweiterten Satz von Wiedergabesteuerungen, die in Steuerungszeilen organisiert sind . Die sekundäre Zeile (unten als oberste Zeile angezeigt) wird nur angezeigt, wenn der Platz in der ersten Zeile nicht ausreicht, um alle Aktionen anzuzeigen, die von der Medien-App von PlaybackStateCompat#getActions()
werden.
Abbildung 4. Wiedergabesteuerung.
OEMs können die Symbole von Standardaktionen anpassen, aber sie müssen benutzerdefinierte Aktionssymbole präsentieren, wie sie von den Medienanwendungen bereitgestellt werden.
Medien-Widget für den Startbildschirm
Dieses Widget ist als Fragment in car-media-common
implementiert. Dieses Fragment enthält eine minimierte Version des oben beschriebenen Wiedergabebildschirms. Es gelten dieselben Anpassungsregeln und -funktionen.
Abbildung 5. Medien-Widget des Startbildschirms
Die oben angezeigte App-Auswahlschaltfläche verwendet die in Medienquellenwechsel - Benutzerablauf beschriebene Wechselfunktion.
Um das aktuelle Medienquellensymbol für die App-Auswahlschaltfläche zu verwenden, überlagern Sie das Flag use_media_source_logo_for_app_selector
, das in platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml
, und setzen Sie es auf true
. Mit dieser Änderung wird das Medienquellensymbol auf der gegenüberliegenden Seite der App-Symbolleiste ausgeblendet. Die Anpassung gilt auch für die Media Center-App und die Referenz-Radio-App.
Abbildung 6. Auswahlschaltfläche für Medien-Apps
Schaltflächenlayout für Wiedergabe, Pause und Stopp
Das Layout der Play/Pause/Stop-Schaltfläche kann für „Now Playing“ und die minimierte Playback-Steuerungsansicht angepasst werden. Beide Layouts sind in packages/apps/Car/libs/car-media-common/res/layout/
definiert.
Um Schaltflächenlayouts anzupassen, wenden Sie Build-Time-Overlays auf play_pause_stop_button_layout.xml
und minimized_play_pause_stop_button_layout.xml
an.
Markieren Sie das aktuelle Element in der Play Queue
Der Status des aktuellen Play Queue-Elements ist auf selected
gesetzt, sodass es mithilfe von Statusressourcen wie Farbstatuslisten (siehe Farbstatuslisten- Ressource ) und Statuslisten-drawables (siehe Drawable-Ressourcen ) angepasst werden kann. Um die erforderlichen Stiländerungen anzuwenden, können Sie das Layout der Warteschlangenelemente überschreiben ( packages/apps/Car/Media/res/layout/queue_list_item.xml ).
Sie können auch ein Symbol neben dem aktuellen Element der Wiedergabewarteschlange anzeigen:
- Überlagern Sie das boolesche Flag
show_icon_for_now_playing_queue_list_item
, das in packages/apps/Car/Media/res/values/bools.xml definiert ist, mittrue
.Um den Wiedergabe-Timer auszublenden, setzen
show_time_for_now_playing_queue_list_item
auffalse
. - Verwenden Sie einen zeichbaren Status, z. B. Vorder- oder Hintergrund der Stammansicht des Elements (siehe packages/apps/Car/Media/res/layout/queue_list_item.xml ) oder eine separate Ansicht in der Ansichtshierarchie des Elements.
Abbildung 7. Hervorgehobenes aktuelles Element in der Wiedergabewarteschlange