A partir de 27 de março de 2025, recomendamos usar android-latest-release
em vez de aosp-main
para criar e contribuir com o AOSP. Para mais informações, consulte Mudanças no AOSP.
Notas da versão da biblioteca Car UI
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Esta página descreve as atualizações feitas na biblioteca Car UI em cada uma das versões
listadas abaixo.
car-ui-lib 2.6.0
Novos recursos
- Foi adicionado um listener de toque para o logotipo
CarUiToolbar
.
Problemas resolvidos
- Correção de um problema em que o conteúdo da caixa de diálogo de overflow de
CarUiToolbar
permanecia
desatualizado ao fazer as atualizações pelo plug-in.
- Correção de um problema em que a barra de rolagem de
CarUiRecyclerView
não estava visível porque
insets incorretos foram aplicados.
- Correção de um problema em que o plug-in retornava uma
InsetsChangedListener
nula
- Foi adicionada uma verificação para garantir que o conteúdo renderizado em
AppStyledView
não use
Theme.CarUi
.
- Correção do posicionamento padrão de
AppStyledView
em telas grandes no modo paisagem.
- Adição de personalização do plano de fundo e do nível de escurecimento do
AppStyledView
.
- Foi adicionado suporte a chamadas para
AppStyledDialog#setContentView()
depois
que AppStyledView
é mostrado.
Os seguintes métodos foram descontinuados:
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean)
, use
CarUi#InsetsChangedListener(Context, View, InsetsChangedListener, boolean)
.
CarUi#installBaseLayoutAround(View, InsetsChangedListener, boolean,
boolean)
, use CarUi#InsetsChangedListener(Context, View,
InsetsChangedListener, boolean, boolean)
.
car-ui-lib-plugin-apis 1.5.0
Novos recursos
- Adição de personalização do listener de toque no logotipo
CarUiToolbar
.
Os seguintes itens foram descontinuados:
PluginFactoryOEMV6
, use PluginFactoryOEMV7
.
ToolbarControllerOEMV2
, use ToolbarControllerOEMV3
.
car-ui-lib 2.5.1
Problemas resolvidos
- Correção de um problema do ProGuard que impedia o carregamento do plug-in car-ui-lib.
- Correção da compatibilidade com versões futuras para plug-ins que causariam NPE no momento da execução.
- O plugin car-ui-lib precisa ser um app do sistema.
- Corrigimos o problema em que
CarUiRecyclerView
não mostrava a barra de rolagem em alguns cenários.
- Correção de guias selecionadas que não eram atualizadas quando o plug-in era usado.
- Correção de problemas com a instanciação de
SearchView
quando o plug-in é usado
- Inicialização do callback de estado de restrição de UX do serviço de carro usando o contexto de atividade
para a configuração correta da tela.
- Anotações de nulidade atualizadas.
car-ui-lib 2.5.0
Problemas resolvidos
- Tempo de inicialização do plug-in otimizado.
- Correção de um problema em que os apps sempre retornavam 1 como a versão máxima de plug-in
com suporte.
- A substituição do tema para forçar
Theme.CarUi
foi removida de AppStyledView
.
- Foi adicionado um método substituível para definir o título em
ListPreferenceFragment
.
car-ui-lib-plugin-apis 1.4.0
Novos recursos
- Permitir a personalização de OEM do
CarUiPreference
.
Os seguintes itens foram descontinuados:
PluginFactoryOEMV5
, use PluginFactoryOEMV6
.
car-ui-lib 2.4.0
Novos recursos
- Adição de suporte à transição para
AppStyledView
.
Problemas resolvidos
- O
AppStyledRecyclerViewAdapter
foi atualizado para não ser mais público.
- Forneceu um método de conveniência para o contexto com otimização para
AppStyledDialogController
.
- A definição de
AppStyledViewNavIcon
foi movida para AppStyledDialogController
.
- A substituição forçada do tema por
Theme.CarUi
foi removida em AppStyledView
.
- Foram adicionadas transições para oferecer suporte à renderização de telas
AppStyledView
.
car_ui_recycler_view_no_scrollbar
foi adicionado à lista de itens que podem ser
sobrepostos.
- Uma biblioteca do Gradle foi criada para
CarUiRecyclerView
espresso ViewActions
e
ViewMatchers
.
- A visualização com estilo de app foi refatorada para usar
ScrollView
.
car-ui-lib-plugin-apis 1.3.0
Novos recursos
Os seguintes itens foram descontinuados:
PluginFactoryOEMV4
, use PluginFactoryOEMV5
.
RecyclerViewOEMV1
, use RecyclerViewOEMV2
.
OnScrollListenerOEMV1
, use RecyclerViewOEMV2.OnScrollListenerOEMV2
.
car-ui-lib 2.3.0
Novos recursos
Novo componente adicionado:
Foi adicionado suporte aos seguintes atributos da barra de rolagem:
android:fadeScrollbars
android:scrollbars
android:scrollbarThumbVertical
android:scrollbarTrackVertical
android:scrollbarStyle
android:scrollbarFadeDuration
android:verticalScrollbarPosition
android:requiresFadingEdge
Problemas resolvidos
Correção de CarUiRecyclerView
, que não mantinha a posição na recriação de
Activity
.
Resolução da incompatibilidade de serialização de bitmap entre o código do cliente e
o serviço IME.
O uso de NavHostFragment
foi ativado com PreferenceFragment
.
car-ui-lib-plugin-apis 1.2.0
Novos recursos
O uso de interfaces java.util.function
foi substituído pelas seguintes interfaces
de biblioteca:
com.android.car.ui.plugin.oemapis.BiConsumer
com.android.car.ui.plugin.oemapis.Consumer
com.android.car.ui.plugin.oemapis.Function
Os seguintes itens foram descontinuados:
PluginFactoryOEMV3
, use PluginFactoryOEMV4
.
ToolbarControllerOEMV1
, use ToolbarControllerOEMV2
.
ContentListItemOEMV1
, use ContentListItemOEMV2
.
ImeSearchInterfaceOEMV1
, use ImeSearchInterfaceOEMV2
.
A implementação da biblioteca de interfaces de nulidade foi substituída por implementações
de androidx.annotations
.
car-ui-lib-plugin-apis 1.1.1
Esta versão atualiza o minSdkVersion
para 28.
car-ui-lib 2.2.1
Esta versão:
- Lançamento de
CarUiFooterPreference
- Atualiza o
minSdkVersion
para 28.
car-ui-lib-plugin-apis 1.1.0
Esta versão:
- Descontinuamos o uso de
AppStyledViewControllerOEMV1
Lançamento de AppStyledViewControllerOEMV2
Incorpora mudanças de AppStyledViewControllerOEMV1
:
public abstract int getContentAreaHeight();
public abstract int getContentAreaWidth();
PluginFactoryOEMV1
e PluginFactoryOEMV2
foram descontinuados
Introduz a interface PluginFactoryOEMV3
.
car-ui-lib 2.1.0
Esta versão:
Foram adicionadas APIs de cliente AppStyledView
:
public int getContentAreaHeight();
public int getContentAreaWidth();
Lançamento de CarUiPrimarySwitchPreference
Atualiza o construtor AppStyledDialogController
para exigir Activity
em vez de Context
:
Adiciona:
public AppStyledDialogController(android.app.Activity);
Desativar:
public AppStyledDialogController(android.content.Context);
car-ui-lib-plugin-apis 1.0.1
Esta versão adiciona anotações de nulidade.
car-ui-lib-plugin-apis 1.0.0
Esta versão apresenta suporte para as seguintes APIs de plug-in car-ui-lib
:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 2.0.0
Essa versão, disponível no Google
Maven,
apresenta suporte ao plug-in car-ui-lib
para estes componentes:
AppStyledViewDialog
CarUiRecyclerView
CarUiToolbar
CarUiListItems
car-ui-lib 1.0.0
Essa versão está disponível no AOSP para o Android 12 e versões anteriores e oferece
suporte para:
O conteúdo e os exemplos de código nesta página estão sujeitos às licenças descritas na Licença de conteúdo. Java e OpenJDK são marcas registradas da Oracle e/ou suas afiliadas.
Última atualização 2025-06-12 UTC.
[[["Fácil de entender","easyToUnderstand","thumb-up"],["Meu problema foi resolvido","solvedMyProblem","thumb-up"],["Outro","otherUp","thumb-up"]],[["Não contém as informações de que eu preciso","missingTheInformationINeed","thumb-down"],["Muito complicado / etapas demais","tooComplicatedTooManySteps","thumb-down"],["Desatualizado","outOfDate","thumb-down"],["Problema na tradução","translationIssue","thumb-down"],["Problema com as amostras / o código","samplesCodeIssue","thumb-down"],["Outro","otherDown","thumb-down"]],["Última atualização 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`"]]