החל מ-27 במרץ 2025, מומלץ להשתמש ב-android-latest-release
במקום ב-aosp-main
כדי ליצור תרומות ל-AOSP. מידע נוסף זמין במאמר שינויים ב-AOSP.
הערות מוצר לספריית ממשק המשתמש שברכב
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
בדף הזה מתוארים העדכונים שבוצעו בספריית ממשק המשתמש ברכב בכל אחת מהגרסאות שמפורטות בהמשך.
car-ui-lib 2.6.0
תכונות חדשות
- הוספנו רכיב שמקשיב להקשות על הלוגו של
CarUiToolbar
.
הבעיות שטופלו
- תוקנה בעיה שבה תוכן תיבת הדו-שיח של
CarUiToolbar
לא היה מתעדכן כשמבצעים את העדכונים דרך הפלאגין.
- תוקנה בעיה שבה סרגל הגלילה של
CarUiRecyclerView
לא היה גלוי כי הוחלו שגיאות בהוספת רכיבים.
- תוקנה בעיה שבה הפלאגין החזיר ערך null של
InsetsChangedListener
.
- נוספה בדיקה לאכיפת הכלל שאסור להשתמש ב-
Theme.CarUi
בתוכן שעבר רינדור ב-AppStyledView
.
- תיקון מיקום ברירת המחדל של
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
כשמשתמשים בפלאגין.
- איך מפעילים קריאה חוזרת (callback) למצב של הגבלת חוויית המשתמש בשירות הרכב באמצעות הקשר הפעילות, כדי לקבוע את הגדרת התצוגה הנכונה.
- אנוטציות של ערכים null עודכנו.
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
מחדש.
תוקנה אי-תאימות בסריאליזציה של קובצי bitmap בין קוד הלקוח לבין שירות ה-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
מעדכנים את המבנה הגנרטיבי (constructor) של AppStyledDialogController
כך שיחייב Activity
במקום Context
:
הוספה של:
public AppStyledDialogController(android.app.Activity);
תכונות שיצאו משימוש:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
בגרסה הזו נוספו הערות לגבי ערך null.
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`"]]