Медиа принадлежит набору системных приложений (например, 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-производители могут настраивать значки стандартных действий. Пользовательские действия, в которых указан ключ EXTRAS_KEY_COMMAND_BUTTON_ICON_COMPAT в дополнительных функциях действия, также можно настроить с помощью RRO библиотеки CarMediaCommon, предназначенной для этих объектов рисования . Значки настраиваемых действий без дополнительных возможностей должны быть представлены в том виде, в каком они предусмотрены мультимедийными приложениями.
Медиа-виджет на главном экране
Этот виджет реализован как фрагмент в 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. Выделенный текущий элемент в очереди воспроизведения.
,Медиа принадлежит набору системных приложений (например, 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-производители могут настраивать значки стандартных действий. Пользовательские действия, в которых указан ключ EXTRAS_KEY_COMMAND_BUTTON_ICON_COMPAT в дополнительных функциях действия, также можно настроить с помощью RRO библиотеки CarMediaCommon, предназначенной для этих объектов рисования . Значки настраиваемых действий без дополнительных возможностей должны быть представлены в том виде, в каком они предусмотрены мультимедийными приложениями.
Медиа-виджет на главном экране
Этот виджет реализован как фрагмент в 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. Выделенный текущий элемент в очереди воспроизведения.
,Медиа принадлежит набору системных приложений (например, 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-производители могут настраивать значки стандартных действий. Пользовательские действия, в которых указан ключ EXTRAS_KEY_COMMAND_BUTTON_ICON_COMPAT в дополнительных функциях действия, также можно настроить с помощью RRO библиотеки CarMediaCommon, предназначенной для этих элементов рисования . Значки настраиваемых действий без дополнительных возможностей должны быть представлены в том виде, в каком они предусмотрены мультимедийными приложениями.
Медиа-виджет на главном экране
Этот виджет реализован как фрагмент в 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. Выделенный текущий элемент в очереди воспроизведения.
,Медиа принадлежит набору системных приложений (например, 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-производители могут настраивать значки стандартных действий. Пользовательские действия, в которых указан ключ EXTRAS_KEY_COMMAND_BUTTON_ICON_COMPAT в дополнительных функциях действия, также можно настроить с помощью RRO библиотеки CarMediaCommon, предназначенной для этих элементов рисования . Значки настраиваемых действий без дополнительных возможностей должны быть представлены в том виде, в каком они предусмотрены мультимедийными приложениями.
Медиа-виджет на главном экране
Этот виджет реализован как фрагмент в 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определенный в пакетах/приложениях/car/media/res/layout/queue_list_item.xml или отдельныйЧтобы скрыть таймер воспроизведения, установите
show_time_for_now_playing_queue_list_itemвfalse. - Используйте нарисовавшее состояние, например, передний план или фон представления корня элемента (см. Пакеты/приложения/Car/Media/Res/Mayout/queue_list_item.xml или отдельное представление в иерархии представления элемента.

Рисунок 7. Выделил текущий элемент в очереди в игре.