Multimedia należą do pakietu aplikacji systemowych (np. Telefonu i Menu z aplikacjami). Te aplikacje mają wspólne style i zasoby zdefiniowane na różnych poziomach struktury AOSP.
framework/base
. Tutaj są zdefiniowane wszystkie style podstawowe Androida.packages/services/Car/car_product/overlay
. Zawiera nakładki czasu kompilacji, które modyfikują standardowe zasoby lub zasoby podstawowe w celu zapewnienia wyglądu i działania systemu operacyjnego Android Automotive. Producenci OEM mogą wykluczyć to nakładanie i użyć własnego.packages/apps/Car/libs/car-ui-lib
. Ta biblioteka definiuje komponenty i zasoby AAOS wspólne dla aplikacji systemowych i niepołączonych aplikacji zaprojektowanych z myślą o dostosowywaniu. Szczegółowe informacje znajdziesz w przewodniku po integracji z biblioteką interfejsu użytkownika samochodu.packages/apps/Car/libs/car_app_common
. Typowe kolory i style wspólne dla aplikacji systemowych Automotive. Producenci OEM mogą używać nakładek, aby dostosować te elementy (podobnie jak w przypadkucar_product/overlay
opisanego powyżej).packages/apps/Car/libs/car_media_common
. Zawiera elementy współdzielone przez interfejs Media i inne interfejsy multimediów. Może to być na przykład widżet multimediów na ekranie głównym.packages/apps/Car/Media.
Wszystkie aplikacje systemowe korzystają z własnego motywu, który rozszerzaTheme.CarUi
zgodnie z definicją w dokumentacjicar-ui-lib
.
Android Automotive AOSP udostępnia 2 prezentacje multimediów.
- Interfejs multimediów. Umożliwia użytkownikom logowanie się, przeglądanie treści i korzystanie z szczegółowych elementów sterujących odtwarzaniem.
- Widżet multimediów na ekranie głównym. Umożliwia korzystanie z podstawowych funkcji sterowania odtwarzaniem multimediów na ekranie głównym.
Interfejs użytkownika multimediów
Ten rysunek opisuje strukturę interfejsu multimediów:
Rysunek 1. Interfejs użytkownika multimediów.
Szczegółowe informacje o wskazówkach dotyczących UX i interfejsu, a także o strukturze przestrzennej różnych komponentów multimediów znajdziesz w artykule Model przestrzenny.
AppBarView: Pasek narzędzi
Pasek narzędzi interfejsu Media to komponent udostępniany innym aplikacjom systemowym, takim jak Dialer i Radio. Aby dowiedzieć się, jak dostosować pasek narzędzi, zapoznaj się z przewodnikiem integracji Car UI Library.
Maksymalny rozmiar grafiki dla multimediów
Aby powiadomić aplikacje multimedialne o maksymalnym rozmiarze pobieranych elementów graficznych, możesz użyć funkcji nakładaniamedia_items_bitmap_max_size_px
w systemie. Aby to zrobić, wyślij EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
jako podpowiedź dotyczącą głównego węzła. W związku z tym zmniejszasz przepustowość
podczas pobierania obrazów. Więcej informacji znajdziesz w sekcji MediaConstants na stronie developer.android.com.
Przeglądanie fragmentu
Przeglądanie składa się głównie z RecyclerView interfejsu Car UI, który obsługuje pozycję suwaka, strzałki i marginesy oraz może przeglądać elementy różnych typów, takie jak nagłówki, elementy siatki, elementy siatki ikon, elementy listy i elementy listy ikon.
Elementy sterujące w miniaturze
Gdy wyświetlany jest fragment przeglądania i wybrano element multimedialny, widoczne są elementy sterowania odtwarzaniem w minimalnym widoku. Poniższy rysunek pokazuje strukturę tego widoku:
Rysunek 2. Zminimalizowane elementy sterujące odtwarzaniem.
Przeglądanie listy
Deweloperzy mogą korzystać z zestawu wskazówek dotyczących stylu (patrz Stosowanie stylów treści), aby dostosować sposób wyświetlania treści związanych z przeglądaniem multimediów. Producenci OEM muszą stosować się do tych stylów, dostosowując ich prezentację do swojego systemu projektowania.
Obsługiwane typy elementów i odpowiednie układy znajdują się w tych miejscach:
LIST_ITEM
(media_browse_list_item.xml
). Często używane w przypadku odcinków w podcastach, takich jak elementy playlisty i ulubione.ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). Służy do tworzenia kategorii lub opcji menu, gdzie obraz dołączony do elementu multimedialnego nie jest okładką albumu, ale ikoną.GRID_ITEM
(media_browse_grid_item.xml
). Często używane w przypadku elementów do odtwarzania, takich jak utwory lub playlisty.ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
). Używane w przypadku kategorii, podobnie jak atrybutuICON_LIST_ITEM
.HEADER
(media_browse_header_item.xml
). Służy do porządkowania elementów multimedialnych w sekcje.
Ekran odtwarzania
Aby wyświetlić ten ekran, rozwiń zminimalizowane elementy sterujące odtwarzaniem:
- metadane aktualnie odtwarzanego materiału (w tym tytuł i napisy);
- Pełne elementy sterujące odtwarzaniem.
- kolejka odtwarzania (służy do wyświetlania ostatnio odtwarzanych lub kolejnych elementów do odtworzenia);
Elementy ekranu odtwarzania są przedstawione na ilustracjach poniżej.
Rysunek 3. Ekran odtwarzania.
Ekran Odtwarzanie nie udostępnia paska narzędzi reszcie aplikacji. Zamiast tego na tym ekranie można osobno zarządzać elementami u góry ekranu.
Atrybucja formatowania dźwięku
Gdy aplikacje ustawiają
KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
lub
KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
w dodatkach odtwarzanego aktualnie elementu multimedialnego. Producenci OEM muszą renderować odpowiedni wektor drawable zgodnie z identyfikatorem URI.
W głównym widoku odtwarzania musisz używać dużej wersji ikony Format treści. W przypadku widoków dodatkowych, takich jak mniejszy pasek odtwarzania, OEM-y mogą używać mniejszej wersji ikony Format treści. Ikona
ContentFormatView
renderuje ikonę optymalną na podstawie atrybutu logoSize
.
Linki do odtwarzania
Gdy aplikacje mają ustawione opcjeKEY_SUBTITLE_LINK_MEDIA_ID
lub
KEY_DESCRIPTION_LINK_MEDIA_ID
,
producenci OEM muszą renderować napisy lub opis w taki sposób, aby sugerowały, że można je kliknąć, a następnie otworzyć widok przeglądania, aby po kliknięciu przez użytkownika wyświetlić połączony element multimedialny.
Sterowanie odtwarzaniem
Ekran Odtwarzanie zawiera rozszerzony zestaw elementów sterujących odtwarzaniem, uporządkowanych w wiersze elementów sterujących. Drugi wiersz (wyświetlany poniżej jako wiersz u góry) jest wyświetlany tylko wtedy, gdy miejsca w pierwszym wierszu jest za mało, aby wyświetlić wszystkie działania zwracane przez aplikację multimedialną z PlaybackStateCompat#getActions()
.
Ilustracja 4. Elementy sterujące odtwarzaniem.
Producenci OEM mogą dostosowywać ikony standardowych działań, ale muszą przedstawiać ikony działań niestandardowych zgodnie z ich wersjami udostępnionymi przez aplikacje multimedialne.
Widżet multimediów na ekranie głównym
Ten widżet jest zaimplementowany jako fragment w języku car-media-common
.
Ten fragment zawiera zminiaturyzowaną wersję opisanego powyżej ekranu Odtwarzanie. Obowiązują te same reguły i funkcje personalizacji.
Rysunek 5. Widżet multimediów na ekranie głównym.
Przycisk selektora aplikacji wyświetlany powyżej korzysta z funkcji przełączania opisanej w artykule Procedura przełączania źródeł multimediów.
Aby użyć bieżącej ikony źródła multimediów dla przycisku selektora aplikacji, nałóż flagę use_media_source_logo_for_app_selector
zdefiniowaną w platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml
i ustaw ją na true
. W związku z tą zmianą ikona Źródło multimediów po przeciwnej stronie paska narzędzi aplikacji będzie ukryta. Personalizacja dotyczy też aplikacji Media Center i aplikacji radiowej.
Rysunek 6. Przycisk wyboru aplikacji multimedialnej.
Układ przycisków Odtwórz, Wstrzymaj i Zatrzymaj
Układ przycisków Odtwórz/Wstrzymaj/Zatrzymaj można dostosować do funkcji „Co jest grane”
i widoku zminimalizowanych elementów sterujących odtwarzaniem. Oba układy są zdefiniowane w pliku packages/apps/Car/libs/car-media-common/res/layout/
.
Aby dostosować układy przycisków, zastosuj nakładki do play_pause_stop_button_layout.xml
i minimized_play_pause_stop_button_layout.xml
na etapie kompilacji.
podświetlić bieżący element w kolejce odtwarzania;
Stan bieżącego elementu kolejki odtwarzania jest ustawiony na selected
, więc można go dostosować za pomocą zasobów stanu, takich jak listy stanów kolorów (patrz zasób listy stanów kolorów
) i elementy graficzne listy stanów (patrz Zasoby elementów graficznych).
Aby zastosować niezbędne zmiany stylizacji, możesz zastąpić układ elementu kolejki
packages/apps/Car/Media/res/layout/queue_list_item.xml,
lub oddzielny
Możesz też wyświetlić ikonę obok bieżącego elementu kolejki odtwarzania:
- Nałóż flagę logiczną
show_icon_for_now_playing_queue_list_item
zdefiniowaną w pliku packages/apps/Car/Media/res/layout/queue_list_item.xml lub osobneAby ukryć minutnik odtwarzania, ustaw wartość
show_time_for_now_playing_queue_list_item
nafalse
. - Użyj stanu rysowanego, np. tła lub pierwszego planu widoku katalogu elementów (patrz packages/apps/Car/Media/res/layout/queue_list_item.xml) lub oddzielnego widoku w hierarchii widoków elementu.
Rysunek 7. Wyróżniony bieżący element w kolejce odtwarzania.