Медиа принадлежит набору системных приложений (например, Dialer и App Launcher). Эти приложения имеют общие стили и ресурсы, определенные на разных уровнях структуры AOSP.
-
framework/base
. Здесь определяются все базовые стили Android. -
packages/services/Car/car_product/overlay
. Содержит наложения во время сборки, которые изменяют стандартные ресурсы платформы/базы для создания внешнего вида AOSP Android Automotive OS. OEM-производители могут исключить это наложение и использовать свое собственное. -
packages/apps/Car/libs/car-ui-lib
. Эта библиотека определяет компоненты и ресурсы AAOS, общие для системных приложений и отдельных приложений, предназначенных для настройки. Подробности см. в Руководстве по интеграции библиотеки Car UI . -
packages/apps/Car/libs/car_app_common
. Общие цвета и стили, используемые в автомобильных системных приложениях. OEM-производители могут использовать наложения для настройки этих элементов (аналогично описанному вышеcar_product/overlay
). -
packages/apps/Car/libs/car_media_common
. Содержит элементы, общие для Media и других мультимедийных пользовательских интерфейсов. Например, виджет «Медиа» на главном экране. packages/apps/Car/Media.
Все системные приложения используют свою собственную тему, которая является продолжениемTheme.CarUi
, как определено вcar-ui-lib
.
Android Automotive AOSP предоставляет две презентации мультимедиа.
- Медиа-интерфейс. Позволяет пользователям входить в систему, просматривать контент и использовать подробные элементы управления воспроизведением.
- Медиа-виджет на главном экране. Позволяет использовать основные функции управления воспроизведением мультимедиа на главном экране.
Пользовательский интерфейс мультимедиа
На этом рисунке описана структура пользовательского интерфейса мультимедиа:
Рисунок 1. Пользовательский интерфейс мультимедиа.
Подробную информацию о рекомендациях по UX и пользовательскому интерфейсу, а также о пространственной структуре различных компонентов мультимедиа см. в разделе Пространственная модель .
AppBarView: Панель инструментов
Панель инструментов мультимедийного пользовательского интерфейса — это компонент, общий с другими системными приложениями, такими как Dialer и Radio. Чтобы узнать, как настроить панель инструментов, см. Руководство по интеграции библиотеки пользовательского интерфейса автомобиля .
Максимальный размер изображения на носителе
Чтобы уведомить мультимедийные приложения о максимальном размере загружаемого изображения, вы можете наложитьmedia_items_bitmap_max_size_px
в своей системе. Для этого отправьте EXTRA_MEDIA_ART_SIZE_HINT_PIXELS
в качестве корневой подсказки. В результате вы сэкономите трафик при загрузке изображений. Дополнительную информацию см. в разделе MediaConstants на сайте Developer.android.com.Просмотр фрагмента
Обзор состоит в основном из Car UI RecyclerView , который обрабатывает положение полосы прокрутки, стрелки и поля и может просматривать элементы различных типов, такие как заголовки, элементы сетки, элементы сетки значков, элементы списка и элементы списка значков.
Минимизированное управление воспроизведением
Когда отображается фрагмент просмотра и когда выбран элемент мультимедиа, отображается свернутое представление элементов управления воспроизведением . На следующем рисунке показана структура этого представления:
Рисунок 2. Свернутые элементы управления воспроизведением.
Просмотреть список
Разработчики могут использовать набор подсказок по стилю (см. «Применение стилей контента ») для настройки представления содержимого просмотра мультимедиа. OEM-производители должны придерживаться этих стилей, адаптируя представление к своей системе дизайна.
Поддерживаемые типы элементов и соответствующие макеты расположены следующим образом:
-
LIST_ITEM
(media_browse_list_item.xml
). Обычно используется для эпизодов подкаста, таких как элементы плейлиста и избранное. -
ICON_LIST_ITEM
(media_browse_list_icons_item.xml
). Используется для категорий или пунктов меню, в которых изображение, включенное в элемент мультимедиа, является не обложкой альбома, а значком. -
GRID_ITEM
(media_browse_grid_item.xml
). Обычно используется для воспроизводимых элементов, таких как песни или плейлисты. -
ICON_GRID_ITEM
(media_browse_grid_icons_item.xml
). Используется для категорий, аналогичноICON_LIST_ITEM
. -
HEADER
(media_browse_header_item.xml
). Используется для организации медиа-элементов по разделам.
Экран воспроизведения
Чтобы отобразить этот экран, разверните свернутые элементы управления воспроизведением:
- Медиа-элементы, воспроизводимые в данный момент (включая заголовок и субтитры).
- Полное управление воспроизведением.
- Очередь воспроизведения (используется для отображения недавно воспроизведенных или следующих элементов для воспроизведения).
Компоненты экрана воспроизведения обозначены на рисунках ниже.
Рисунок 3. Экран воспроизведения.
Экран воспроизведения не использует общую панель инструментов с остальной частью приложения. Вместо этого этот экран индивидуально управляет элементами в верхней части экрана.
Атрибуция форматирования аудио
Когда приложения устанавливают KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI
или KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI
в дополнительных функциях воспроизводимого в данный момент мультимедийного элемента. OEM-производители должны визуализировать соответствующий вектор, как указано в URI.
Большую версию значка «Формат контента» необходимо использовать в главном представлении воспроизведения. На вторичных представлениях, таких как меньшая панель воспроизведения, OEM-производители могут использовать уменьшенную версию значка «Формат контента» . ContentFormatView
отображает оптимальный значок на основе атрибута logoSize
.
Ссылки на воспроизведение
Когда приложения устанавливаютKEY_SUBTITLE_LINK_MEDIA_ID
или KEY_DESCRIPTION_LINK_MEDIA_ID
, OEM-производители должны отображать субтитры или описания таким образом, чтобы их можно было коснуться, а затем открыть представление «Обзор», чтобы отобразить связанный элемент мультимедиа при нажатии пользователем.Элементы управления воспроизведением
Экран «Воспроизведение» включает расширенный набор элементов управления воспроизведением, организованных в ряды элементов управления . Вторичная строка (отображаемая ниже как строка вверху) отображается только в том случае, если места в первой строке недостаточно для отображения всех действий, возвращаемых мультимедийным приложением из PlaybackStateCompat#getActions()
.
Рисунок 4. Элементы управления воспроизведением.
OEM-производители могут настраивать значки стандартных действий, но они должны представлять значки настраиваемых действий в том виде, в каком они предоставляются мультимедийными приложениями.
Медиа-виджет на главном экране
Этот виджет реализован как фрагмент в car-media-common
. Этот фрагмент включает в себя уменьшенную версию экрана воспроизведения, описанного выше. Применяются все те же правила и возможности настройки.
Рисунок 5. Медиа-виджет на главном экране.
Кнопка выбора приложения, показанная выше, использует функцию переключения, описанную в разделе «Последовательность действий пользователя при переключении источника мультимедиа ».
Чтобы использовать текущий значок источника мультимедиа для кнопки выбора приложения, наложите флаг use_media_source_logo_for_app_selector
, определенный в platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml
и установите для него значение true
. Благодаря этому изменению значок источника мультимедиа на противоположной стороне панели инструментов приложения будет скрыт. Настройка также применима к приложению Media Center и эталонному приложению Radio.
Рисунок 6. Кнопка выбора медиа-приложения.
Расположение кнопок «Воспроизведение», «Пауза» и «Стоп»
Расположение кнопок «Воспроизведение/Пауза/Стоп» можно настроить для отображения «Сейчас воспроизводится» и свернутого просмотра элементов управления воспроизведением. Оба макета определены в packages/apps/Car/libs/car-media-common/res/layout/
.
Чтобы настроить макеты кнопок, примените наложения времени сборки к play_pause_stop_button_layout.xml
и minimized_play_pause_stop_button_layout.xml
.
Выделить текущий элемент в очереди воспроизведения
Текущему элементу очереди воспроизведения присвоено состояние selected
, поэтому его можно настроить с помощью ресурсов состояния, таких как списки состояний цвета (см . Ресурс списка состояний цвета ) и рисуемые списки состояний (см. Ресурсы, доступные для рисования ). Чтобы применить необходимые изменения стиля, вы можете переопределить макет элемента очереди packages/apps/Car/Media/res/layout/queue_list_item.xml или отдельный файл.
Вы также можете отобразить значок рядом с текущим элементом очереди воспроизведения:
- Наложите логический флаг
show_icon_for_now_playing_queue_list_item
, определенный в packages/apps/Car/Media/res/layout/queue_list_item.xml , или в отдельном файлеЧтобы скрыть таймер воспроизведения, установите для
show_time_for_now_playing_queue_list_item
значениеfalse
. - Используйте рисуемое состояние, например передний план или фон корневого представления элемента (см. packages/apps/Car/Media/res/layout/queue_list_item.xml или отдельное представление в иерархии представлений элемента).
Рисунок 7. Выделенный текущий элемент в очереди воспроизведения.