Media należą do pakietu aplikacji systemowych (na przykład Dialer i App Launcher). Te aplikacje mają wspólne style i zasoby zdefiniowane na różnych poziomach struktury AOSP.
-
framework/base
. Tutaj zdefiniowano wszystkie podstawowe style Androida. -
packages/services/Car/car_product/overlay
. Zawiera nakładki na czas kompilacji, które modyfikują standardowe zasoby platformy/bazowe w celu uzyskania wyglądu i działania AOSP systemu operacyjnego Android Automotive. Producenci OEM mogą zdecydować się na wykluczenie tej nakładki i użycie własnej. -
packages/apps/Car/libs/car-ui-lib
. Ta biblioteka definiuje komponenty i zasoby AAOS wspólne dla aplikacji systemowych i aplikacji rozdzielonych przeznaczonych do dostosowywania. Aby uzyskać szczegółowe informacje, zobacz Przewodnik integracji biblioteki interfejsu użytkownika samochodu . -
packages/apps/Car/libs/car_app_common
. Wspólne kolory i style wspólne dla aplikacji systemu motoryzacyjnego. Producenci OEM mogą używać nakładek, aby dostosować te elementy (podobnie jak opisany powyżejcar_product/overlay
). -
packages/apps/Car/libs/car_media_common
. Zawiera elementy współdzielone między multimediami i innymi interfejsami użytkownika multimediów. Na przykład widżet multimedialny na ekranie głównym. packages/apps/Car/Media.
Wszystkie aplikacje systemowe korzystają z własnego motywu, który stanowi kontynuacjęTheme.CarUi
zgodnie z definicją wcar-ui-lib
.
Android Automotive AOSP udostępnia dwie prezentacje multimedialne.
- Interfejs multimediów. Umożliwia użytkownikom logowanie się, przeglądanie zawartości i korzystanie ze 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 użytkownika multimediów:
Rysunek 1. Interfejs użytkownika multimediów.
Aby uzyskać szczegółowe informacje na temat wytycznych dotyczących UX i UI, a także struktury przestrzennej różnych komponentów Media, zobacz Model przestrzenny .
AppBarView: pasek narzędzi
Pasek narzędzi Media UI to komponent współdzielony z innymi aplikacjami systemowymi, takimi jak Dialer i Radio. Aby dowiedzieć się, jak dostosować pasek narzędzi, zapoznaj się z Przewodnikiem integracji biblioteki interfejsu użytkownika samochodu .
Maksymalny rozmiar grafiki na nośniku
Aby powiadomić aplikacje multimedialne o maksymalnym rozmiarze grafiki do pobrania, możesz nałożyć nakładkęmedia_items_bitmap_max_size_px
w swoim systemie. Aby to zrobić, wyślij EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
jako wskazówkę dotyczącą rootowania. W rezultacie zaoszczędzisz przepustowość podczas pobierania obrazów. Aby dowiedzieć się więcej, zobacz MediaConstants na stronie developer.android.com.Przeglądaj fragment
Przeglądaj składa się głównie z Car UI RecyclerView , który obsługuje pozycję paska przewijania, 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.
Zminimalizowane elementy sterujące odtwarzaniem
Podczas wyświetlania fragmentu przeglądania i po wybraniu elementu multimedialnego wyświetlany jest zminimalizowany widok elementów sterujących odtwarzaniem . Poniższy rysunek ilustruje strukturę tego widoku:
Rysunek 2. Zminimalizowane elementy sterujące odtwarzaniem.
Przeglądaj listę
Programiści mogą skorzystać z zestawu wskazówek dotyczących stylu (zobacz Stosowanie stylów zawartości ), aby dostosować prezentację zawartości przeglądanej multimediów. Producenci OEM muszą przestrzegać tych stylów, dopasowując prezentację do swojego systemu projektowego.
Obsługiwane typy elementów i odpowiednie układy znajdują się w następujący sposób:
-
LIST_ITEM
(media_browse_list_item.xml
). Często używane w przypadku odcinków podcastu, takich jak elementy listy odtwarzania i ulubione. -
ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). Używane w przypadku kategorii lub opcji menu, w których obraz dołączony do elementu multimedialnego nie jest rzeczywistą okładką albumu, ale ikoną. -
GRID_ITEM
(media_browse_grid_item.xml
). Często używany do odtwarzania elementów, takich jak utwory lub listy odtwarzania. -
ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
). Używany dla kategorii, podobnie jakICON_LIST_ITEM
. -
HEADER
(media_browse_header_item.xml
). Służy do organizowania elementów multimedialnych w sekcje.
Ekran odtwarzania
Aby wyświetlić ten ekran, rozwiń zminimalizowane elementy sterujące odtwarzaniem:
- Aktualnie odtwarzane są dane elementu multimedialnego (w tym tytuł i podtytuł).
- Pełna kontrola odtwarzania.
- Kolejka odtwarzania (używana do wyświetlania ostatnio odtwarzanych lub następnych elementów do odtworzenia).
Elementy ekranu odtwarzania przedstawiono na poniższych rysunkach.
Rysunek 3. Ekran odtwarzania.
Ekran odtwarzania nie dzieli paska narzędzi z resztą aplikacji. Zamiast tego ten ekran indywidualnie zarządza elementami na górze ekranu.
Atrybucja formatowania audio
Gdy aplikacje ustawiają KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
lub KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
w dodatkach aktualnie odtwarzanego elementu multimedialnego. Producenci OEM muszą renderować odpowiedni wektor, zgodnie ze wskazaniem identyfikatora URI.
W głównym widoku odtwarzania należy używać dużej wersji ikony formatu zawartości . W widokach dodatkowych, takich jak mniejszy pasek odtwarzania, producenci OEM mogą używać mniejszej wersji ikony formatu zawartości . ContentFormatView
renderuje optymalną ikonę na podstawie jej atrybutu logoSize
.
Linki do odtwarzania
Gdy aplikacje ustawiąKEY_SUBTITLE_LINK_MEDIA_ID
lub KEY_DESCRIPTION_LINK_MEDIA_ID
, producenci OEM muszą renderować podtytuł lub opis w sposób sugerujący, że można ich dotknąć, a następnie otworzyć widok przeglądania, aby wyświetlić połączony element multimedialny po dotknięciu przez użytkownika.Sterowanie odtwarzaniem
Ekran odtwarzania zawiera rozszerzony zestaw elementów sterujących odtwarzaniem, zorganizowanych w wierszach sterowania . Drugi wiersz (wyświetlany poniżej jako wiersz na górze) jest wyświetlany tylko wtedy, gdy miejsce w pierwszym wierszu nie wystarczy do wyświetlenia wszystkich akcji zwróconych przez aplikację multimedialną z PlaybackStateCompat#getActions()
.
Rysunek 4. Sterowanie odtwarzaniem.
Producenci OEM mogą dostosowywać ikony akcji standardowych, ale muszą prezentować ikony akcji niestandardowych udostępniane przez aplikacje multimedialne.
Widżet multimediów na ekranie głównym
Ten widget jest zaimplementowany jako fragment w car-media-common
. Fragment ten zawiera zminimalizowaną wersję ekranu odtwarzania opisanego powyżej. Obowiązują te same zasady i możliwości dostosowywania.
Rysunek 5. Widżet multimediów na ekranie głównym.
Wyświetlony powyżej przycisk wyboru aplikacji korzysta z funkcji przełączania opisanej w części Przebieg użytkownika przełączania źródła multimediów .
Aby użyć bieżącej ikony źródła multimediów dla przycisku Selektor 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
. Dzięki tej zmianie ikona źródła multimediów po przeciwnej stronie paska narzędzi aplikacji zostanie ukryta. Dostosowanie dotyczy również aplikacji Media Center i referencyjnej aplikacji Radio.
Rysunek 6. Przycisk wyboru aplikacji multimedialnej.
Układ przycisków Odtwórz, Wstrzymaj i Zatrzymaj
Układ przycisku Odtwórz/Pauza/Zatrzymaj można dostosować do opcji „Teraz odtwarzane” i do zminimalizowanego widoku elementów sterujących odtwarzaniem. Obydwa układy są zdefiniowane w packages/apps/Car/libs/car-media-common/res/layout/
.
Aby dostosować układ przycisków, zastosuj nakładki w czasie kompilacji do plików play_pause_stop_button_layout.xml
i minimized_play_pause_stop_button_layout.xml
.
Podświetl bieżący element w kolejce odtwarzania
Stan bieżącego elementu kolejki odtwarzania jest ustawiony na selected
, więc można go dostosować przy użyciu zasobów stanowych, takich jak listy stanów kolorów (zobacz Zasób listy stanów kolorów ) i elementy listy stanów do rysowania (zobacz Zasoby do rysowania ). Aby zastosować niezbędne zmiany stylu, możesz zastąpić układ elementu kolejki pakiety/apps/Car/Media/res/layout/queue_list_item.xml lub oddzielny
Możesz także wyświetlić ikonę obok bieżącego elementu kolejki odtwarzania:
- Nałóż flagę logiczną
show_icon_for_now_playing_queue_list_item
zdefiniowaną w package/apps/Car/Media/res/layout/queue_list_item.xml lub oddzielnąAby ukryć licznik czasu odtwarzania, ustaw
show_time_for_now_playing_queue_list_item
nafalse
. - Użyj stanu do narysowania, na przykład pierwszego planu lub tła widoku głównego elementu (zobacz pakiety/apps/Car/Media/res/layout/queue_list_item.xml lub oddzielny widok w hierarchii widoków elementu.
Rysunek 7. Podświetlony bieżący element w kolejce odtwarzania.