Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Informacje o wersji biblioteki Car UI
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Ta strona zawiera opisy zmian wprowadzonych w bibliotece interfejsu Car UI w poszczególnych wersjach wymienionych poniżej.
car-ui-lib 2.6.0
Nowe funkcje
- Dodano odbiornik dotyku dla logo
CarUiToolbar
.
Rozwiązane problemy
- Rozwiązaliśmy problem polegający na tym, że zawartość okna przepełnienia
CarUiToolbar
pozostawała niezmieniona po wprowadzeniu zmian za pomocą wtyczki.
- Rozwiązaliśmy problem polegający na tym, że pasek przewijania
CarUiRecyclerView
był niewidoczny, ponieważ zastosowano nieprawidłowe wstawki.
- Rozwiązaliśmy problem, gdy wtyczka zwracała wartość null
InsetsChangedListener
.
- Dodaliśmy sprawdzanie, które ma na celu wymuszanie tego, aby treści renderowane w
AppStyledView
nie zawierały elementów z Theme.CarUi
.
- Naprawiono domyślne
AppStyledView
pozycjonowanie na dużych ekranach w orientacji poziomej.
- Dodano możliwość dostosowywania tła
AppStyledView
i poziomu przyciemnienia.
- Dodaliśmy obsługę połączeń do
AppStyledDialog#setContentView()
po wyświetleniu AppStyledView
.
Wycofane metody:
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, użyj zamiast tego CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
, użyj zamiast tego CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
.
car-ui-lib-plugin-apis 1.5.0
Nowe funkcje
- Dodano możliwość dostosowywania
CarUiToolbar
Listenera kliknięcia logo.
Wycofane:
PluginFactoryOEMV6
, użyj zamiast tego PluginFactoryOEMV7
.
ToolbarControllerOEMV2
, użyj zamiast tego ToolbarControllerOEMV3
.
car-ui-lib 2.5.1
Rozwiązane problemy
- Rozwiązaliśmy problem z ProGuardem, który uniemożliwiał wczytywanie wtyczki car-ui-lib.
- Naprawiono zgodność wsteczną wtyczek, które powodowały NPE w czasie wykonywania.
- Wymagaj, aby wtyczka car-ui-lib była aplikacją systemową.
- Rozwiązanie problemu polegającego na tym, że w niektórych przypadkach
CarUiRecyclerView
nie wyświetlał paska przewijania.
- Rozwiązanie problemu polegającego na tym, że wybrane karty nie aktualizowały się podczas korzystania z wtyczki.
- Rozwiązaliśmy problemy z tworzeniem instancji
SearchView
podczas używania wtyczki.
- Inicjowanie wywołania zwrotnego stanu ograniczenia UX usługi Car service za pomocą kontekstu aktywności w celu prawidłowej konfiguracji wyświetlania.
- Zaktualizowano adnotacje nullości.
car-ui-lib 2.5.0
Rozwiązane problemy
- Zoptymalizowany czas uruchamiania wtyczki.
- Rozwiązaliśmy problem, który powodował, że aplikacje zawsze zwracały 1 jako maksymalną obsługiwaną wersję wtyczki.
- Usunięto zastępowanie motywu, aby wymusić
Theme.CarUi
z AppStyledView
.
- Dodano metodę z możliwością zastąpienia, która umożliwia ustawienie tytułu w komórce
ListPreferenceFragment
.
car-ui-lib-plugin-apis 1.4.0
Nowe funkcje
- Zezwalaj na dostosowywanie
CarUiPreference
przez producenta.
Wycofane:
PluginFactoryOEMV5
, użyj zamiast tego PluginFactoryOEMV6
.
car-ui-lib 2.4.0
Nowe funkcje
- Dodano obsługę przejścia na
AppStyledView
.
Rozwiązane problemy
- Zaktualizowano
AppStyledRecyclerViewAdapter
, aby nie był już publiczny.
- Dodano wygodną metodę kontekstu z optymalizacją dla
AppStyledDialogController
.
- Definicję
AppStyledViewNavIcon
przeniesiono do AppStyledDialogController
.
- Usunięto wymuszone zastępowanie motywu
Theme.CarUi
w AppStyledView
.
- Dodaliśmy przejścia, aby umożliwić renderowanie ekranów
AppStyledView
.
- Dodaliśmy
car_ui_recycler_view_no_scrollbar
do listy elementów, które można nakładać.
- Utworzono bibliotekę Gradle dla
CarUiRecyclerView
espresso ViewActions
i ViewMatchers
.
- Zmieniliśmy widok w stylu aplikacji, aby używać
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
Nowe funkcje
Wycofane:
PluginFactoryOEMV4
, użyj zamiast tego PluginFactoryOEMV5
.
RecyclerViewOEMV1
, użyj zamiast tego RecyclerViewOEMV2
.
OnScrollListenerOEMV1
, użyj zamiast tego RecyclerViewOEMV2.OnScrollListenerOEMV2
.
car-ui-lib 2.3.0
Nowe funkcje
Dodano nowy komponent:
Dodano obsługę tych atrybutów paska przewijania:
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
Rozwiązane problemy
Naprawiono błąd CarUiRecyclerView
, który powodował, że po utworzeniu kopii Activity
nie zachowywała ona pozycji.
Rozwiązano problem z niezgodnością serializacji bitmapy między kodem klienta a usługą IME.
Włączono korzystanie z funkcji NavHostFragment
w ramach PreferenceFragment
.
car-ui-lib-plugin-apis 1.2.0
Nowe funkcje
Zastąpiono użycie interfejsów java.util.function
tymi interfejsami biblioteki:
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
Wycofane:
PluginFactoryOEMV3
, użyj zamiast tego PluginFactoryOEMV4
.
ToolbarControllerOEMV1
, użyj zamiast tego ToolbarControllerOEMV2
.
ContentListItemOEMV1
, użyj zamiast tego ContentListItemOEMV2
.
ImeSearchInterfaceOEMV1
, użyj zamiast tego ImeSearchInterfaceOEMV2
.
Zastąpiono implementację biblioteki interfejsów nullness implementacjami androidx.annotations
.
car-ui-lib-plugin-apis 1.1.1
W tej wersji minSdkVersion
została zaktualizowana do 28.
car-ui-lib 2.2.1
Ta wersja:
- Przedstawia
CarUiFooterPreference
- Zaktualizowano
minSdkVersion
do 28.
car-ui-lib-plugin-apis 1.1.0
Ta wersja:
- Wycofane:
AppStyledViewControllerOEMV1
Przedstawia AppStyledViewControllerOEMV2
Zawiera zmiany z wersji AppStyledViewControllerOEMV1
:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
Wycofanie funkcji PluginFactoryOEMV1
i PluginFactoryOEMV2
Przedstawia interfejs PluginFactoryOEMV3
.
car-ui-lib 2.1.0
Ta wersja:
Dodaje interfejsy API klienta AppStyledView
:
public int getContentAreaHeight();
public int getContentAreaWidth();
Przedstawia CarUiPrimarySwitchPreference
Zmiana konstruktora AppStyledDialogController
, aby wymagał parametru Activity
zamiast Context
:
Dodaje:
public AppStyledDialogController(android.app.Activity);
Wycofuje:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
W tej wersji dodaliśmy adnotacje nullości.
car-ui-lib-plugin-apis 1.0.0
Ta wersja wprowadza obsługę tych interfejsów API wtyczek car-ui-lib
:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
Ta wersja, dostępna w Google Maven, wprowadza obsługę wtyczki car-ui-lib
dla tych komponentów:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
Ta wersja jest dostępna w AOSP w przypadku Androida 12 i starszych. Zapewnia obsługę:
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-06-12 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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`"]]