Начиная с 27 марта 2025 г. мы рекомендуем использовать android-latest-release
вместо aosp-main
для создания и участия в AOSP. Дополнительные сведения см. в разделе Изменения в AOSP .
Примечания к выпуску библиотеки пользовательского интерфейса автомобиля
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
На этой странице описаны обновления библиотеки Car UI в каждом из перечисленных ниже выпусков.
car-ui-lib 2.6.0
Новые возможности
- Добавлен прослушиватель касаний для логотипа
CarUiToolbar
.
Рассматриваемые вопросы
- Исправлена ошибка, из-за которой содержимое диалогового окна переполнения
CarUiToolbar
оставалось устаревшим при выполнении обновлений через плагин. - Исправлена ошибка, из-за которой полоса прокрутки
CarUiRecyclerView
не была видна из-за применения неверных вставок. - Исправлена ошибка, из-за которой плагин возвращал значение null
InsetsChangedListener
. - Добавлена проверка для обеспечения того, чтобы содержимое, отображаемое в
AppStyledView
, не использовало Theme.CarUi
. - Исправлено позиционирование
AppStyledView
по умолчанию на больших альбомных экранах. - Добавлена настройка фона
AppStyledView
и уровня затемнения. - Добавлена поддержка вызовов
AppStyledDialog#setContentView()
после отображения AppStyledView
.
Устаревшие методы:
-
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, вместо этого используйте CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
. -
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean, boolean)
, вместо этого используйте CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean, boolean)
.
car-ui-lib-plugin-apis 1.5.0
Новые возможности
- Добавлена настройка прослушивателя нажатия логотипа
CarUiToolbar
.
Устаревшие следующие элементы:
-
PluginFactoryOEMV6
, вместо него используйте PluginFactoryOEMV7
. -
ToolbarControllerOEMV2
, вместо него используйте ToolbarControllerOEMV3
.
car-ui-lib 2.5.1
Рассматриваемые вопросы
- Исправлена ошибка ProGuard, препятствовавшая загрузке плагина car-ui-lib.
- Исправлена прямая совместимость для плагинов, которые могли вызвать NPE во время выполнения.
- Убедитесь, что плагин car-ui-lib является системным приложением.
- Исправлена ошибка, из-за которой в некоторых сценариях не отображалась полоса прокрутки
CarUiRecyclerView
. - Исправлена ошибка, из-за которой выбранные вкладки не обновлялись при использовании плагина.
- Исправлены проблемы с созданием экземпляра
SearchView
при использовании плагина. - Инициализируйте обратный вызов состояния ограничения UX-сервиса автомобиля, используя контекст действия для правильной настройки отображения.
- Обновлены аннотации недействительности.
car-ui-lib 2.5.0
Рассматриваемые вопросы
- Оптимизировано время запуска плагина.
- Исправлена ошибка, из-за которой приложения всегда возвращали 1 в качестве максимально поддерживаемой версии плагина.
- Удалена перезапись темы для принудительного использования
Theme.CarUi
из AppStyledView
. - Добавлен переопределяемый метод для установки заголовка в
ListPreferenceFragment
.
car-ui-lib-plugin-apis 1.4.0
Новые возможности
- Разрешить OEM-настройку
CarUiPreference
.
Устаревшие следующие элементы:
-
PluginFactoryOEMV5
, вместо него используйте PluginFactoryOEMV6
.
car-ui-lib 2.4.0
Новые возможности
- Добавлена поддержка перехода к
AppStyledView
.
Рассматриваемые вопросы
-
AppStyledRecyclerViewAdapter
обновлен и больше не является публичным. - Предоставлен удобный метод для контекста с оптимизацией для
AppStyledDialogController
. - Определение
AppStyledViewNavIcon
перенесено в AppStyledDialogController
. - Удалена принудительная перезапись темы в
Theme.CarUi
в AppStyledView
. - Добавлены переходы для поддержки рендеринга экранов
AppStyledView
. - Добавлен
car_ui_recycler_view_no_scrollbar
в список элементов, которые можно накладывать. - Создана библиотека Gradle для
CarUiRecyclerView
espresso ViewActions
и ViewMatchers
. - Изменен вид в стиле приложения для использования
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
Новые возможности
Устаревшие следующие элементы:
-
PluginFactoryOEMV4
, вместо него используйте PluginFactoryOEMV5
. -
RecyclerViewOEMV1
, вместо него используйте RecyclerViewOEMV2
. -
OnScrollListenerOEMV1
вместо этого используйте RecyclerViewOEMV2.OnScrollListenerOEMV2
.
car-ui-lib 2.3.0
Новые возможности
Добавлен новый компонент:
Добавлена поддержка следующих атрибутов полосы прокрутки:
-
android:fadeScrollbars
-
android:scrollbars
-
android:scrollbarThumbVertical
-
android:scrollbarTrackVertical
-
android:scrollbarStyle
-
android:scrollbarFadeDuration
-
android:verticalScrollbarPosition
-
android:requiresFadingEdge
Решенные проблемы
Исправлен CarUiRecyclerView
, который не сохранял позицию при воссоздании Activity
.
Устранена несовместимость сериализации битовых карт между клиентским кодом и службой IME.
Включено использование NavHostFragment
с PreferenceFragment
.
car-ui-lib-plugin-apis 1.2.0
Новые возможности
Заменено использование интерфейсов java.util.function
на следующие библиотечные интерфейсы:
-
com.android.car.ui.plugin.oemapis.BiConsumer
-
com.android.car.ui.plugin.oemapis.Consumer
-
com.android.car.ui.plugin.oemapis.Function
Устаревшие следующие элементы:
-
PluginFactoryOEMV3
, вместо него используйте PluginFactoryOEMV4
. -
ToolbarControllerOEMV1
, вместо него используйте ToolbarControllerOEMV2
. -
ContentListItemOEMV1
, вместо него используйте ContentListItemOEMV2
. -
ImeSearchInterfaceOEMV1
, вместо него используйте ImeSearchInterfaceOEMV2
.
Заменена библиотечная реализация интерфейсов nullness на реализации androidx.annotations
.
car-ui-lib-plugin-apis 1.1.1
В этом выпуске minSdkVersion
обновлен до 28.
car-ui-lib 2.2.1
Этот выпуск:
- Представляем
CarUiFooterPreference
- Обновляет
minSdkVersion
до 28.
car-ui-lib-plugin-apis 1.1.0
Этот выпуск:
- Устаревание
AppStyledViewControllerOEMV1
Представляем AppStyledViewControllerOEMV2
Включает изменения из AppStyledViewControllerOEMV1
:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
Устаревание PluginFactoryOEMV1
и PluginFactoryOEMV2
Представляет интерфейс PluginFactoryOEMV3
.
car-ui-lib 2.1.0
Этот выпуск:
Добавляет клиентские API AppStyledView
:
public int getContentAreaHeight();
public int getContentAreaWidth();
Представляем CarUiPrimarySwitchPreference
Обновляет конструктор AppStyledDialogController
для требования Activity
вместо Context
:
Добавляет:
public AppStyledDialogController(android.app.Activity);
Устаревание:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
В этом выпуске добавлены аннотации об отсутствии значений.
car-ui-lib-plugin-apis 1.0.0
В этом выпуске реализована поддержка следующих API плагина car-ui-lib
:
-
AppStyledViewDialog
-
CarUiRecyclerView
-
CarUiToolbar
-
CarUiListItems
car-ui-lib 2.0.0
В этой версии, доступной на Google Maven , реализована поддержка плагина car-ui-lib
для следующих компонентов:
-
AppStyledViewDialog
-
CarUiRecyclerView
-
CarUiToolbar
-
CarUiListItems
car-ui-lib 1.0.0
Этот выпуск доступен на AOSP для Android 12 и ниже и обеспечивает поддержку:
Контент и образцы кода на этой странице предоставлены по лицензиям. Java и OpenJDK – это зарегистрированные товарные знаки корпорации Oracle и ее аффилированных лиц.
Последнее обновление: 2025-06-12 UTC.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2025-06-12 UTC."],[],[],null,["# Car UI library release notes\n\nThis page describes updates made to the Car UI library in each of the releases\nlisted below.\n\ncar-ui-lib 2.6.0\n----------------\n\n### New features\n\n- Added a tap listener for the `CarUiToolbar` logo.\n\n### Issues addressed\n\n- Fixed an issue where `CarUiToolbar`'s overflow dialog content would remain stale when making the updates through the plugin.\n- Fixed an issue where `CarUiRecyclerView`'s scrollbar was not visible because incorrect insets were applied.\n- Fixed an issue when the plugin returned a null `InsetsChangedListener`.\n- Added a check to enforce content rendered in `AppStyledView` must not use `Theme.CarUi`.\n- Fixed default `AppStyledView` positioning in large landscape screens.\n- Added customization of `AppStyledView` background and dim amount.\n- Added support for calls to `AppStyledDialog#setContentView()` after `AppStyledView` is shown.\n\nDeprecated these methods:\n\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)`, use `CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)` instead.\n- `CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,\n boolean)`, use `CarUi#InsetsChangedListener(Context, View,\n InsetsChangedListener, boolean, boolean)` instead.\n\ncar-ui-lib-plugin-apis 1.5.0\n----------------------------\n\n### New features\n\n- Added customization of `CarUiToolbar` logo tap listener.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV6`, use `PluginFactoryOEMV7` instead.\n- `ToolbarControllerOEMV2`, use `ToolbarControllerOEMV3` instead.\n\ncar-ui-lib 2.5.1\n----------------\n\n### Issues addressed\n\n- Fixed a ProGuard issue that was preventing loading the car-ui-lib plugin.\n- Fixed forward compatibility for plugins that would cause NPE at runtime.\n- Enforce that car-ui-lib plugin has to be a system app.\n- Fixed `CarUiRecyclerView` not showing scrollbar in some scenarios.\n- Fixed selected tabs not updating when the plugin is used.\n- Fixed issues with instantiating `SearchView` when the plugin is used.\n- Initialize Car service UX restriction state callback using Activity context for correct display configuration.\n- Updated nullness annotations.\n\ncar-ui-lib 2.5.0\n----------------\n\n### Issues addressed\n\n- Optimized plugin startup time.\n- Fixed an issue where apps were always returning 1 as max supported plugin version.\n- Removed the overwriting of theme to force `Theme.CarUi` from `AppStyledView`.\n- Added overridable method to set title on `ListPreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.4.0\n----------------------------\n\n### New features\n\n- Allow OEM customization of `CarUiPreference`.\n\nDeprecated these items:\n\n- `PluginFactoryOEMV5`, use `PluginFactoryOEMV6` instead.\n\ncar-ui-lib 2.4.0\n----------------\n\n### New features\n\n- Added support for the transition to `AppStyledView`.\n\n### Issues addressed\n\n- Updated `AppStyledRecyclerViewAdapter` to no longer be public.\n- Provided a convenience method for context with optimization for `AppStyledDialogController`.\n- Moved the `AppStyledViewNavIcon` definition to `AppStyledDialogController`.\n- Removed forced overwriting of theme to `Theme.CarUi` in `AppStyledView`.\n- Added transitions to support the rendering of `AppStyledView` screens.\n- Added `car_ui_recycler_view_no_scrollbar` to the list of items that can be overlaid.\n- Created a Gradle library for `CarUiRecyclerView` espresso `ViewActions` and `ViewMatchers`.\n- Refactored the app-styled view to use `ScrollView`.\n\ncar-ui-lib-plugin-apis 1.3.0\n----------------------------\n\n### New features\n\nDeprecated these items:\n\n- `PluginFactoryOEMV4`, use `PluginFactoryOEMV5` instead.\n- `RecyclerViewOEMV1`, use `RecyclerViewOEMV2` instead.\n- `OnScrollListenerOEMV1`, use `RecyclerViewOEMV2.OnScrollListenerOEMV2` instead.\n\ncar-ui-lib 2.3.0\n----------------\n\n### New features\n\nAdded new component:\n\n- `CarUiShortcutsPopup`\n\nAdded support for the following scrollbar attributes:\n\n- `android:fadeScrollbars`\n- `android:scrollbars`\n- `android:scrollbarThumbVertical`\n- `android:scrollbarTrackVertical`\n- `android:scrollbarStyle`\n- `android:scrollbarFadeDuration`\n- `android:verticalScrollbarPosition`\n- `android:requiresFadingEdge`\n\n### Addressed issues\n\n- Fixed `CarUiRecyclerView`, which did not maintain position upon `Activity`\n recreation.\n\n- Resolved bitmap serialization incompatibility between the client code and\n the IME service.\n\n- Enabled usage of `NavHostFragment` with `PreferenceFragment`.\n\ncar-ui-lib-plugin-apis 1.2.0\n----------------------------\n\n### New features\n\nReplaced usage of `java.util.function` interfaces with the following library\ninterfaces:\n\n- `com.android.car.ui.plugin.oemapis.BiConsumer`\n- `com.android.car.ui.plugin.oemapis.Consumer`\n- `com.android.car.ui.plugin.oemapis.Function`\n\nDeprecated these items:\n\n- `PluginFactoryOEMV3`, use `PluginFactoryOEMV4` instead.\n- `ToolbarControllerOEMV1`, use `ToolbarControllerOEMV2` instead.\n- `ContentListItemOEMV1`, use `ContentListItemOEMV2` instead.\n- `ImeSearchInterfaceOEMV1`, use `ImeSearchInterfaceOEMV2` instead.\n\nReplaced the library implementation of nullness interfaces with implementations\nof `androidx.annotations`.\n\ncar-ui-lib-plugin-apis 1.1.1\n----------------------------\n\nThis release updates the `minSdkVersion` to 28.\n\ncar-ui-lib 2.2.1\n----------------\n\nThis release:\n\n- Introduces `CarUiFooterPreference`\n- Updates the `minSdkVersion` to 28.\n\ncar-ui-lib-plugin-apis 1.1.0\n----------------------------\n\nThis release:\n\n- Deprecates `AppStyledViewControllerOEMV1`\n- Introduces `AppStyledViewControllerOEMV2`\n\n- Incorporates changes from `AppStyledViewControllerOEMV1`:\n\n public abstract int getContentAreaHeight();\n public abstract int getContentAreaWidth();\n\n- Deprecates `PluginFactoryOEMV1` and `PluginFactoryOEMV2`\n\n- Introduces the `PluginFactoryOEMV3` interface.\n\ncar-ui-lib 2.1.0\n----------------\n\nThis release:\n\n- Adds `AppStyledView` client APIs:\n\n public int getContentAreaHeight();\n public int getContentAreaWidth();\n\n- Introduces `CarUiPrimarySwitchPreference`\n\n- Updates the `AppStyledDialogController` constructor to require `Activity`\n instead of `Context`:\n\n - Adds:\n\n public AppStyledDialogController(android.app.Activity);\n\n - Deprecates:\n\n public AppStyledDialogController(android.content.Context);\n\ncar-ui-lib-plugin-apis 1.0.1\n----------------------------\n\nThis release adds nullness annotations.\n\ncar-ui-lib-plugin-apis 1.0.0\n----------------------------\n\nThis release introduces support for the following `car-ui-lib` plugin APIs:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 2.0.0\n----------------\n\nThis version, available on [Google\nMaven](https://maven.google.com/web/index.html?#com.android.car.ui),\nintroduces `car-ui-lib` plugin support for these components:\n\n- `AppStyledViewDialog`\n- `CarUiRecyclerView`\n- `CarUiToolbar`\n- `CarUiListItems`\n\ncar-ui-lib 1.0.0\n----------------\n\nThis release is available on AOSP for Android 12 and lower and provides\nsupport for:\n\n- `AppStyledViewDialog`\n- [`CarUiRecyclerView`](/docs/devices/automotive/hmi/car_ui/caruirecyclerview)\n- [`CarUiToolbar`](/docs/devices/automotive/hmi/car_ui/toolbar_rro)\n- [`CarUiListItems`](/docs/devices/automotive/hmi/car_ui/caruilistitem)\n- Dialog\n- Resource customization through [runtime resource overlays (RROs)](/docs/core/architecture/rros)\n- [`PreferencesFragment`](/docs/devices/automotive/hmi/car_ui/caruipreference)\n- [Rotary support](/docs/devices/automotive/hmi/rotary_controller/oem_integration)\n- `WideScreenImeKeyboard`"]]