ตั้งแต่วันที่ 27 มีนาคม 2025 เป็นต้นไป เราขอแนะนำให้ใช้ android-latest-release
แทน aosp-main
เพื่อสร้างและมีส่วนร่วมใน AOSP โปรดดูข้อมูลเพิ่มเติมที่หัวข้อการเปลี่ยนแปลงใน AOSP
บันทึกประจำรุ่นของไลบรารี UI ของรถ
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
หน้านี้อธิบายการอัปเดตที่ทำกับไลบรารี UI ของรถยนต์ในแต่ละรุ่นที่ระบุไว้ด้านล่าง
car-ui-lib 2.6.0
ฟีเจอร์ใหม่
- เพิ่มตัวรับฟังการแตะสำหรับโลโก้
CarUiToolbar
ปัญหาที่แก้ไขแล้ว
- แก้ไขปัญหาที่เนื้อหากล่องโต้ตอบรายการที่แสดงเกินของ
CarUiToolbar
จะยังคงล้าสมัยเมื่อทำการอัปเดตผ่านปลั๊กอิน
- แก้ไขปัญหาที่แถบเลื่อนของ
CarUiRecyclerView
ไม่แสดงเนื่องจากมีการใช้ส่วนตัดที่ไม่ถูกต้อง
- แก้ไขปัญหาเมื่อปลั๊กอินแสดงผล
InsetsChangedListener
เป็นค่า Null
- เพิ่มการตรวจสอบเพื่อบังคับใช้เนื้อหาที่แสดงผลใน
AppStyledView
must not use
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
รุ่นนี้รองรับ car-ui-lib
Plugin API ต่อไปนี้
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`"]]