Настройка носителя

Медиа относится к набору системных приложений (например, 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, общие для системных приложений и отдельных приложений, предназначенных для настройки. Подробнее см. в Руководстве по интеграции автомобильной библиотеки пользовательского интерфейса .
  • 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. Пользовательский интерфейс мультимедиа

Дополнительные сведения о рекомендациях по пользовательскому интерфейсу и пользовательскому интерфейсу, а также о пространственной структуре различных компонентов мультимедиа см. в разделе Пространственная модель .

AppBarView: панель инструментов

Панель инструментов пользовательского интерфейса мультимедиа — это компонент, совместно используемый с другими системными приложениями, такими как номеронабиратель и радио. Чтобы узнать, как настроить панель инструментов, см. Руководство по интеграции автомобильной библиотеки пользовательского интерфейса .

Максимальный размер обложки носителя

Чтобы уведомить мультимедийные приложения о максимальном размере загружаемого изображения, вы можете наложить media_items_bitmap_max_size_px в своей системе. Для этого отправьте EXTRA_MEDIA_ART_SIZE_HINT_PIXELS в качестве корневой подсказки. В результате вы сэкономите трафик при загрузке изображений. Дополнительные сведения см. в разделе MediaConstants на сайте developer.android.com.

Просмотрите фрагмент

Browse состоит в основном из 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 .
  • media_browse_header_item.xml HEADER . Используется для организации элементов мультимедиа в разделы.

Экран воспроизведения

Чтобы отобразить этот экран, разверните свернутые элементы управления воспроизведением:

  • В настоящее время воспроизводятся метаданные медиафайла (включая заголовок и подзаголовок).
  • Полное управление воспроизведением.
  • Очередь воспроизведения (используется для отображения недавно воспроизведенных или следующих элементов для воспроизведения).

Компоненты экрана воспроизведения показаны на рисунках ниже.

Экран воспроизведения

Рисунок 3. Экран воспроизведения

Экран воспроизведения не разделяет панель инструментов с остальной частью приложения. Вместо этого элементы в верхней части экрана индивидуально управляются этим экраном.

Элементы управления воспроизведением

Экран воспроизведения включает в себя расширенный набор элементов управления воспроизведением, организованных в ряды элементов управления . Второстепенная строка (отображаемая ниже как строка сверху) отображается только в том случае, если места в первой строке недостаточно для отображения всех действий, возвращаемых мультимедийным приложением из 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 , поэтому его можно настроить с помощью ресурсов состояния, таких как списки состояний цвета (см. Ресурс списка состояний цвета ) и отрисовываемые списки состояний (см. Ресурсы Drawable ). Чтобы применить необходимые изменения стиля, вы можете переопределить макет элемента очереди ( packages/apps/Car/Media/res/layout/queue_list_item.xml ).

Вы также можете отобразить значок рядом с текущим элементом очереди воспроизведения:

  • Наложите логический флаг show_icon_for_now_playing_queue_list_item определенный в packages/apps/Car/Media/res/values/bools.xml, на true .

    Чтобы скрыть таймер воспроизведения, установите для show_time_for_now_playing_queue_list_item значение false .

  • Используйте отображаемое состояние, например передний план или фон корневого представления элемента (см. packages/apps/Car/Media/res/layout/queue_list_item.xml ) или отдельное представление в иерархии представлений элемента.

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