Media gehört zu einer Reihe von System-Apps (z. B. Dialer und App Launcher). Diese Apps haben gemeinsame Stile und Assets, die auf verschiedenen Ebenen 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 ändern, um das AOSP-Look-and-Feel von Android Automotive OS zu erzeugen. OEMs können sich dafür entscheiden, dieses Overlay auszuschließen und ihr eigenes zu verwenden. -
packages/apps/Car/libs/car-ui-lib
. Diese Bibliothek definiert AAOS-Komponenten und -Ressourcen, die System-Apps und entbündelten Apps zur individuellen Anpassung gemeinsam sind. Einzelheiten finden Sie im Integrationshandbuch für die Car UI Library . -
packages/apps/Car/libs/car_app_common
. Gemeinsame Farben und Stile, die von Automotive-System-Apps 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 von Media und anderen Medien-Benutzeroberflächen gemeinsam genutzt werden. Zum Beispiel das Medien-Widget des Startbildschirms. packages/apps/Car/Media.
Alle System-Apps verwenden ihr eigenes Theme, das vonTheme.CarUi
ausgeht, wie incar-ui-lib
definiert.
Android Automotive AOSP bietet zwei Präsentationen von Medien.
- Medien-Benutzeroberfläche. Ermöglicht Benutzern die Anmeldung, das Durchsuchen von Inhalten und die Verwendung detaillierter Wiedergabesteuerungen.
- Medien-Widget für den Startbildschirm. Ermöglicht die Verwendung zentraler Steuerungsfunktionen für die Medienwiedergabe auf dem Startbildschirm.
Benutzeroberfläche für Medien
Diese Abbildung beschreibt die Struktur der Medien-Benutzeroberfläche:
Abbildung 1. Benutzeroberfläche für Medien.
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 System-Apps wie Dialer und Radio geteilt wird. Informationen zum Anpassen der Symbolleiste finden Sie im Car UI Library Integration Guide .
Maximale Grafikgröße des Mediums
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 Bandbreite beim Herunterladen von Bildern. Weitere Informationen finden Sie unter MediaConstants auf Developer.android.com.Fragment durchsuchen
Durchsuchen besteht hauptsächlich aus einer Car UI RecyclerView , die die Position der Bildlaufleiste, Pfeile und Ränder verwaltet und Elemente verschiedener Typen durchsuchen kann, z. B. Kopfzeilen, Rasterelemente, Symbolrasterelemente, Listenelemente und Symbollistenelemente.
Minimierte Wiedergabesteuerung
Wenn das Suchfragment angezeigt wird und ein Medienelement ausgewählt wird, wird eine minimierte Ansicht der Wiedergabesteuerungen 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.
Die unterstützten Elementtypen und die entsprechenden Layouts finden Sie 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, in denen das im Medienelement enthaltene Bild kein tatsächliches Albumcover, sondern ein Symbol ist. -
GRID_ITEM
(media_browse_grid_item.xml
). Wird häufig für abspielbare Elemente wie Lieder 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 zum Organisieren von Medienelementen in Abschnitten verwendet.
Wiedergabebildschirm
Um diesen Bildschirm anzuzeigen, erweitern Sie die minimierten Wiedergabesteuerelemente:
- Derzeit werden die Mediendaten des Medienelements abgespielt (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 werden in den folgenden Abbildungen identifiziert.
Abbildung 3. Wiedergabebildschirm.
Der Wiedergabebildschirm teilt die Symbolleiste nicht mit dem Rest der App. Stattdessen verwaltet dieser Bildschirm die Elemente am oberen Bildschirmrand einzeln.
Quellenangabe der Audioformatierung
Wenn Apps den KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
oder den KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
in den Extras des aktuell wiedergegebenen Medienelements festlegen. OEMs müssen den entsprechenden Vektor entsprechend der URI zeichnungsfähig machen.
Die große Version des Inhaltsformat- Symbols muss in der Hauptwiedergabeansicht verwendet werden. In sekundären Ansichten, beispielsweise einer kleineren Wiedergabeleiste, können OEMs die kleinere Version des Inhaltsformat- Symbols verwenden. ContentFormatView
rendert das optimale Symbol basierend auf seinem logoSize
Attribut.
Wiedergabelinks
Wenn AppsKEY_SUBTITLE_LINK_MEDIA_ID
oder KEY_DESCRIPTION_LINK_MEDIA_ID
festlegen, müssen OEMs den Untertitel oder die Beschreibung so darstellen, dass sie angetippt werden können, und dann die Durchsuchen-Ansicht öffnen, um das verknüpfte Medienelement anzuzeigen, wenn ein Benutzer darauf tippt.Wiedergabesteuerung
Der Wiedergabebildschirm enthält einen erweiterten Satz von Wiedergabesteuerelementen, die in Steuerzeilen organisiert sind. Die sekundäre Zeile (unten als Zeile oben angezeigt) wird nur angezeigt, wenn der Platz in der ersten Zeile nicht ausreicht, um alle von der Medien-App von PlaybackStateCompat#getActions()
zurückgegebenen Aktionen anzuzeigen.
Abbildung 4. Wiedergabesteuerung.
OEMs können die Symbole von Standardaktionen anpassen, müssen jedoch benutzerdefinierte Aktionssymbole präsentieren, wie sie von den Medien-Apps 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 auf dem Startbildschirm.
Die oben angezeigte Schaltfläche „App-Auswahl“ verwendet die unter „Benutzerfluss zum Wechseln der Medienquelle“ beschriebene Wechselfunktion .
Um das aktuelle Medienquellensymbol für die Schaltfläche „App Selector“ 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
definiert ist, und legen Sie es auf true
fest. Durch diese Ä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 Referenzradio-App.
Abbildung 6. Schaltfläche „Medien-App-Auswahl“.
Layout der Tasten „Wiedergabe“, „Pause“ und „Stopp“.
Das Layout der Wiedergabe-/Pause-/Stopp-Tasten kann für „Aktuelle Wiedergabe“ und die minimierte Wiedergabesteuerungsansicht 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 Wiedergabewarteschlange
Der Status des aktuellen Wiedergabewarteschlangenelements ist auf selected
festgelegt, sodass es mithilfe von Statusressourcen wie Farbstatuslisten (siehe Farbstatuslistenressource ) und Statuslisten-Drawables (siehe Drawable-Ressourcen ) angepasst werden kann. Um die erforderlichen Stiländerungen anzuwenden, können Sie das Layout des Warteschlangenelements packets/apps/Car/Media/res/layout/queue_list_item.xml oder ein separates überschreiben
Sie können auch ein Symbol neben dem aktuellen Wiedergabewarteschlangenelement anzeigen:
- Überlagern Sie das boolesche Flag
show_icon_for_now_playing_queue_list_item
, das in packets/apps/Car/Media/res/layout/queue_list_item.xml definiert ist, oder ein separates FlagUm den Wiedergabetimer auszublenden, setzen Sie
show_time_for_now_playing_queue_list_item
auffalse
. - Verwenden Sie einen zeichnbaren Zustand, zum Beispiel den Vordergrund oder Hintergrund der Stammansicht des Elements (siehe packets/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.