Mulai 27 Maret 2025, sebaiknya gunakan android-latest-release
, bukan aosp-main
, untuk mem-build dan berkontribusi pada AOSP. Untuk mengetahui informasi selengkapnya, lihat Perubahan pada AOSP.
Catatan rilis library UI Mobil
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menjelaskan update yang dilakukan pada library UI Mobil di setiap rilis
yang tercantum di bawah.
car-ui-lib 2.6.0
Fitur baru
- Menambahkan pemroses ketuk untuk logo
CarUiToolbar
.
Masalah yang diatasi
- Memperbaiki masalah saat konten dialog tambahan
CarUiToolbar
akan tetap
usang saat melakukan update melalui plugin.
- Memperbaiki masalah saat scrollbar
CarUiRecyclerView
tidak terlihat karena
inset yang salah diterapkan.
- Memperbaiki masalah saat plugin menampilkan
InsetsChangedListener
null.
- Menambahkan pemeriksaan untuk mewajibkan konten yang dirender di
AppStyledView
tidak boleh menggunakan
Theme.CarUi
.
- Memperbaiki posisi
AppStyledView
default di layar lanskap besar.
- Menambahkan penyesuaian latar belakang dan jumlah redup
AppStyledView
.
- Menambahkan dukungan untuk panggilan ke
AppStyledDialog#setContentView()
setelah
AppStyledView
ditampilkan.
Menghentikan penggunaan metode ini:
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, gunakan
CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
sebagai gantinya.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
, gunakan CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
sebagai gantinya.
car-ui-lib-plugin-apis 1.5.0
Fitur baru
- Menambahkan penyesuaian pemroses ketuk logo
CarUiToolbar
.
Tidak digunakan lagi item berikut:
PluginFactoryOEMV6
, gunakan PluginFactoryOEMV7
sebagai gantinya.
ToolbarControllerOEMV2
, gunakan ToolbarControllerOEMV3
sebagai gantinya.
car-ui-lib 2.5.1
Masalah yang diatasi
- Memperbaiki masalah ProGuard yang mencegah pemuatan plugin car-ui-lib.
- Memperbaiki kompatibilitas dengan versi selanjutnya untuk plugin yang akan menyebabkan NPE saat runtime.
- Menerapkan bahwa plugin car-ui-lib harus berupa aplikasi sistem.
- Memperbaiki
CarUiRecyclerView
yang tidak menampilkan scrollbar dalam beberapa skenario.
- Memperbaiki tab yang dipilih tidak diperbarui saat plugin digunakan.
- Memperbaiki masalah pembuatan instance
SearchView
saat plugin digunakan.
- Lakukan inisialisasi callback status batasan UX layanan Mobil menggunakan konteks Aktivitas
untuk konfigurasi tampilan yang benar.
- Memperbarui anotasi nullness.
car-ui-lib 2.5.0
Masalah yang diatasi
- Waktu startup plugin yang dioptimalkan.
- Memperbaiki masalah aplikasi yang selalu menampilkan 1 sebagai versi plugin
maksimum yang didukung.
- Menghapus penggantian tema untuk memaksa
Theme.CarUi
dari AppStyledView
.
- Menambahkan metode yang dapat diganti untuk menetapkan judul di
ListPreferenceFragment
.
car-ui-lib-plugin-apis 1.4.0
Fitur baru
- Mengizinkan penyesuaian OEM
CarUiPreference
.
Tidak digunakan lagi item berikut:
PluginFactoryOEMV5
, gunakan PluginFactoryOEMV6
sebagai gantinya.
car-ui-lib 2.4.0
Fitur baru
- Menambahkan dukungan untuk transisi ke
AppStyledView
.
Masalah yang diatasi
- Memperbarui
AppStyledRecyclerViewAdapter
agar tidak lagi bersifat publik.
- Menyediakan metode praktis untuk konteks dengan pengoptimalan untuk
AppStyledDialogController
.
- Memindahkan definisi
AppStyledViewNavIcon
ke AppStyledDialogController
.
- Menghapus penggantian paksa tema ke
Theme.CarUi
di AppStyledView
.
- Menambahkan transisi untuk mendukung rendering layar
AppStyledView
.
- Menambahkan
car_ui_recycler_view_no_scrollbar
ke daftar item yang dapat
ditumpangkan.
- Membuat library Gradle untuk
CarUiRecyclerView
espresso ViewActions
dan
ViewMatchers
.
- Memfaktorkan ulang tampilan bergaya aplikasi untuk menggunakan
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
Fitur baru
Tidak digunakan lagi item berikut:
PluginFactoryOEMV4
, gunakan PluginFactoryOEMV5
sebagai gantinya.
RecyclerViewOEMV1
, gunakan RecyclerViewOEMV2
sebagai gantinya.
OnScrollListenerOEMV1
, gunakan RecyclerViewOEMV2.OnScrollListenerOEMV2
sebagai gantinya.
car-ui-lib 2.3.0
Fitur baru
Menambahkan komponen baru:
Menambahkan dukungan untuk atribut scrollbar berikut:
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
Masalah yang diatasi
Memperbaiki CarUiRecyclerView
, yang tidak mempertahankan posisi saat pembuatan ulang
Activity
.
Menyelesaikan inkompatibilitas serialisasi bitmap antara kode klien dan
layanan IME.
Mengaktifkan penggunaan NavHostFragment
dengan PreferenceFragment
.
car-ui-lib-plugin-apis 1.2.0
Fitur baru
Mengganti penggunaan antarmuka java.util.function
dengan antarmuka
library berikut:
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
Tidak digunakan lagi item berikut:
PluginFactoryOEMV3
, gunakan PluginFactoryOEMV4
sebagai gantinya.
ToolbarControllerOEMV1
, gunakan ToolbarControllerOEMV2
sebagai gantinya.
ContentListItemOEMV1
, gunakan ContentListItemOEMV2
sebagai gantinya.
ImeSearchInterfaceOEMV1
, gunakan ImeSearchInterfaceOEMV2
sebagai gantinya.
Mengganti implementasi library antarmuka nullness dengan implementasi
androidx.annotations
.
car-ui-lib-plugin-apis 1.1.1
Rilis ini memperbarui minSdkVersion
menjadi 28.
car-ui-lib 2.2.1
Rilis ini:
- Memperkenalkan
CarUiFooterPreference
- Mengupdate
minSdkVersion
ke versi 28.
car-ui-lib-plugin-apis 1.1.0
Rilis ini:
- Menghentikan penggunaan
AppStyledViewControllerOEMV1
Memperkenalkan AppStyledViewControllerOEMV2
Menggabungkan perubahan dari AppStyledViewControllerOEMV1
:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
Menghentikan penggunaan PluginFactoryOEMV1
dan PluginFactoryOEMV2
Memperkenalkan antarmuka PluginFactoryOEMV3
.
car-ui-lib 2.1.0
Rilis ini:
Menambahkan API klien AppStyledView
:
public int getContentAreaHeight();
public int getContentAreaWidth();
Memperkenalkan CarUiPrimarySwitchPreference
Memperbarui konstruktor AppStyledDialogController
agar memerlukan Activity
,
bukan Context
:
Menambahkan:
public AppStyledDialogController(android.app.Activity);
Tidak digunakan lagi:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
Rilis ini menambahkan anotasi nullness.
car-ui-lib-plugin-apis 1.0.0
Rilis ini memperkenalkan dukungan untuk API plugin car-ui-lib
berikut:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
Versi ini, yang tersedia di Google
Maven,
memperkenalkan dukungan plugin car-ui-lib
untuk komponen berikut:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
Rilis ini tersedia di AOSP untuk Android 12 dan yang lebih rendah serta menyediakan
dukungan untuk:
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-06-12 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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`"]]