À partir du 27 mars 2025, nous vous recommandons d'utiliser android-latest-release
au lieu de aosp-main
pour créer et contribuer à AOSP. Pour en savoir plus, consultez la section Modifications apportées à AOSP.
Notes de version de la bibliothèque Car UI
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Cette page décrit les mises à jour apportées à la bibliothèque d'interface utilisateur pour voitures dans chacune des versions listées ci-dessous.
car-ui-lib 2.6.0
Nouvelles fonctionnalités
- Ajout d'un écouteur de pression pour le logo
CarUiToolbar
.
Problèmes résolus
- Correction d'un problème qui entraînait le contenu de la boîte de dialogue de débordement de
CarUiToolbar
restant obsolète lors des mises à jour via le plug-in.
- Correction d'un problème où la barre de défilement de
CarUiRecyclerView
n'était pas visible, car des marges intérieures incorrectes étaient appliquées.
- Correction d'un problème lorsque le plug-in renvoyait une
InsetsChangedListener
nulle.
- Ajout d'une vérification pour que le contenu affiché dans
AppStyledView
ne doit pas utiliser Theme.CarUi
.
- Correction du positionnement par défaut de
AppStyledView
sur les grands écrans en mode paysage.
- Personnalisation de l'arrière-plan et de l'intensité de l'
AppStyledView
ajoutée.
- Ajout de la prise en charge des appels à
AppStyledDialog#setContentView()
après l'affichage de AppStyledView
.
Ces méthodes sont obsolètes:
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, utilisez plutôt CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
, utilisez plutôt CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
.
car-ui-lib-plugin-apis 1.5.0
Nouvelles fonctionnalités
- Ajout de la personnalisation de l'écouteur d'appui sur le logo
CarUiToolbar
.
Éléments obsolètes:
PluginFactoryOEMV6
, utilisez plutôt PluginFactoryOEMV7
.
ToolbarControllerOEMV2
, utilisez plutôt ToolbarControllerOEMV3
.
car-ui-lib 2.5.1
Problèmes résolus
- Correction d'un problème ProGuard qui empêchait le chargement du plug-in car-ui-lib.
- Correction de la compatibilité ascendante pour les plug-ins qui provoquaient une erreur NPE au moment de l'exécution.
- Exiger que le plug-in car-ui-lib soit une application système.
- Correction du problème qui empêchait
CarUiRecyclerView
d'afficher la barre de défilement dans certains cas.
- Correction d'un problème qui empêchait la mise à jour des onglets sélectionnés lorsque le plug-in était utilisé.
- Correction des problèmes d'instanciation de
SearchView
lorsque le plug-in est utilisé.
- Initialisez le rappel d'état de restriction de l'expérience utilisateur du service de voiture à l'aide du contexte d'activité pour une configuration d'affichage correcte.
- Mise à jour des annotations de nullité.
car-ui-lib 2.5.0
Problèmes résolus
- Temps de démarrage du plug-in optimisé.
- Correction d'un problème qui faisait que les applications renvoyaient toujours la version de plug-in maximale prise en charge 1.
- Suppression du forçage du thème
Theme.CarUi
à partir de AppStyledView
.
- Ajout d'une méthode remplaçable pour définir le titre sur
ListPreferenceFragment
.
car-ui-lib-plugin-apis 1.4.0
Nouvelles fonctionnalités
- Autorisez la personnalisation OEM de
CarUiPreference
.
Éléments obsolètes:
PluginFactoryOEMV5
, utilisez plutôt PluginFactoryOEMV6
.
car-ui-lib 2.4.0
Nouvelles fonctionnalités
- Ajout de la prise en charge de la transition vers
AppStyledView
.
Problèmes résolus
- Modification de
AppStyledRecyclerViewAdapter
pour qu'il ne soit plus public.
- Fournit une méthode pratique pour le contexte avec une optimisation pour
AppStyledDialogController
.
- Déplacement de la définition de
AppStyledViewNavIcon
vers AppStyledDialogController
.
- Suppression de l'écrasement forcé du thème sur
Theme.CarUi
dans AppStyledView
.
- Ajout de transitions pour prendre en charge le rendu des écrans
AppStyledView
.
- Ajout de
car_ui_recycler_view_no_scrollbar
à la liste des éléments pouvant être superposés.
- Création d'une bibliothèque Gradle pour
CarUiRecyclerView
espresso ViewActions
et ViewMatchers
.
- Refactorisation de la vue de style application pour utiliser
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
Nouvelles fonctionnalités
Éléments obsolètes:
PluginFactoryOEMV4
, utilisez plutôt PluginFactoryOEMV5
.
RecyclerViewOEMV1
, utilisez plutôt RecyclerViewOEMV2
.
OnScrollListenerOEMV1
, utilisez plutôt RecyclerViewOEMV2.OnScrollListenerOEMV2
.
car-ui-lib 2.3.0
Nouvelles fonctionnalités
Ajout d'un nouveau composant:
Ajout de la compatibilité avec les attributs de barre de défilement suivants:
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
Problèmes résolus
Correction de CarUiRecyclerView
, qui ne maintenait pas la position lors de la recréation de Activity
.
Résolution de l'incompatibilité de sérialisation de bitmap entre le code client et le service IME.
Activation de l'utilisation de NavHostFragment
avec PreferenceFragment
.
car-ui-lib-plugin-apis 1.2.0
Nouvelles fonctionnalités
Remplacement de l'utilisation des interfaces java.util.function
par les interfaces de bibliothèque suivantes:
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
Éléments obsolètes:
PluginFactoryOEMV3
, utilisez plutôt PluginFactoryOEMV4
.
ToolbarControllerOEMV1
, utilisez plutôt ToolbarControllerOEMV2
.
ContentListItemOEMV1
, utilisez plutôt ContentListItemOEMV2
.
ImeSearchInterfaceOEMV1
, utilisez plutôt ImeSearchInterfaceOEMV2
.
Remplacement de l'implémentation de la bibliothèque des interfaces de nullité par des implémentations de androidx.annotations
.
car-ui-lib-plugin-apis 1.1.1
Cette version met à jour la version minSdkVersion
vers la version 28.
car-ui-lib 2.2.1
Cette version:
- Présentation de
CarUiFooterPreference
- Mise à jour de
minSdkVersion
vers la version 28.
car-ui-lib-plugin-apis 1.1.0
Cette version:
- Abandon de
AppStyledViewControllerOEMV1
Présentation de AppStyledViewControllerOEMV2
Inclut les modifications apportées depuis la version AppStyledViewControllerOEMV1
:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
Abandon de PluginFactoryOEMV1
et PluginFactoryOEMV2
Présentation de l'interface PluginFactoryOEMV3
.
car-ui-lib 2.1.0
Cette version:
Ajout des API client AppStyledView
:
public int getContentAreaHeight();
public int getContentAreaWidth();
Présentation de CarUiPrimarySwitchPreference
Met à jour le constructeur AppStyledDialogController
pour qu'il nécessite Activity
au lieu de Context
:
car-ui-lib-plugin-apis 1.0.1
Cette version ajoute des annotations de nullité.
car-ui-lib-plugin-apis 1.0.0
Cette version prend en charge les API de plug-in car-ui-lib
suivantes:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
Cette version, disponible sur Google Maven, introduit la prise en charge des plug-ins car-ui-lib
pour ces composants:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
Cette version est disponible sur AOSP pour Android 12 et versions antérieures, et est compatible avec les éléments suivants:
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/06/12 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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`"]]