自 2025 年 3 月 27 日起,我们建议您使用 android-latest-release
而非 aosp-main
构建 AOSP 并为其做出贡献。如需了解详情,请参阅 AOSP 的变更。
工具栏
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
拨号器使用软件包名称为 com.android.car.ui.toolbar.Toolbar
的底盘工具栏。自定义工具栏的第一步是叠加布局文件,针对旧版工具栏叠加 car_ui_toolbar.xml
和 car_ui_toolbar_two_row.xml
,针对基本布局版本叠加 car_ui_base_layout_toolbar.xml
。在每个版本的布局中,都必须使用相应 ID 提供以下每个视图:
id |
视图类型 |
说明 |
car_ui_toolbar_background /td>
| android.view.View |
在基本布局中已废弃,但可与以前的工具栏样式配合使用,以确定高度。 |
car_ui_toolbar_tabs |
com.android.car.ui.toolbar.TabLayout |
标签页的位置。 |
car_ui_toolbar_nav_icon |
android.widget.ImageView |
“返回”、“关闭”、“向下”按钮。 |
car_ui_toolbar_logo |
android.widget.ImageView |
car_ui_toolbar_logo_fills_nav_icon_space 为 true 时的徽标。 |
car_ui_toolbar_nav_icon_container |
android.view.ViewGroup |
用于保存 car_ui_toolbar_logo 和 car_ui_toolbar_nav_icon 的容器。 |
car_ui_toolbar_menu_items_container |
android.view.ViewGroup |
用于包含 MenuItem 的 ViewGroup。 |
car_ui_toolbar_title |
android.widget.TextView |
工具栏的标题。 |
car_ui_toolbar_title_logo_container |
android.view.ViewGroup |
car_ui_toolbar_title_logo 的容器。系统会显示(或隐藏)该容器而非 ImageView。 |
car_ui_toolbar_title_logo |
android.widget.ImageView |
car_ui_toolbar_logo_fills_nav_icon_space 为 false 时的徽标。 |
car_ui_toolbar_search_view_container |
android.widget.FrameLayout |
在其中膨胀搜索视图的容器。这可以在没有搜索栏的屏幕上缩短膨胀所需的时长。 |
car_ui_toolbar_progress_bar |
android.widget.ProgressBar |
进度条。 |
接下来,您还必须自定义包含搜索栏的 car_ui_toolbar_search_view.xml
,该布局必须具有以下视图:
id |
视图类型 |
说明 |
car_ui_toolbar_search_bar |
android.widget.EditText |
供用户在其中输入要搜索的文本的 EditText。 |
car_ui_toolbar_search_icon |
android.widget.ImageView |
一个图标,通常显示搜索图标,但应用也可对其进行更改。 |
car_ui_toolbar_search_close |
android.view.View |
一个视图,点击该视图后即会清空搜索框。 |
除布局外,您还可以使用以下布尔值属性自定义工具栏:
属性 |
说明 |
car_ui_toolbar_tabs_on_second_row |
确定在显示标签页时是否隐藏标题。 |
car_ui_toolbar_nav_icon_reserve_space |
确定在导航图标隐藏时是否应将标题移至左侧以占据导航图标的空间。 |
car_ui_toolbar_logo_fills_nav_icon_space |
不存在导航按钮时,在导航按钮本应占据的空间内显示徽标。 |
car_ui_toolbar_show_logo |
如需永久禁止在工具栏中显示徽标,请将此属性设为 false 。 |
这些视图根据 ToolbarControllerImpl
方法的 setState
而显示、隐藏或更改。如需详细了解显示哪个视图以及何时显示,请参阅该方法。
本页面上的内容和代码示例受内容许可部分所述许可的限制。Java 和 OpenJDK 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-07-27。
[null,null,["最后更新时间 (UTC):2025-07-27。"],[],[],null,["# Toolbar\n\nDialer uses the chassis toolbar with a package name of\n`com.android.car.ui.toolbar.Toolbar`.\n\nThe first step to customizing the toolbar is to overlay the layout file, which is\n`car_ui_toolbar.xml` and `car_ui_toolbar_two_row.xml` for the legacy toolbar,\nand `car_ui_base_layout_toolbar.xml` for the base layout version. In each version of the\nlayout, each of the following views must be provided with the respective ids:\n\n| id | View type | Description |\n|----------------------------------------|----------------------------------------|----------------------------------------------------------------------------------------------------------------------------|\n| `car_ui_toolbar_background`/td\\\u003e | `android.view.View` | Deprecated for base layouts, but used with the previous toolbar style to determine height. |\n| `car_ui_toolbar_tabs` | `com.android.car.ui.toolbar.TabLayout` | Location of tabs. |\n| `car_ui_toolbar_nav_icon` | `android.widget.ImageView` | The Back, Close, Down button. |\n| `car_ui_toolbar_logo` | `android.widget.ImageView` | The logo, when car_ui_toolbar_logo_ fills_nav_icon_space is `true`. |\n| `car_ui_toolbar_nav_icon_container` | `android.view.ViewGroup` | A container to hold `car_ui_toolbar_logo` and `car_ui_toolbar_nav_icon`. |\n| `car_ui_toolbar_menu_items_container` | `android.view.ViewGroup` | A ViewGroup to contain MenuItems. |\n| `car_ui_toolbar_title` | `android.widget.TextView` | The title of the toolbar. |\n| `car_ui_toolbar_title_logo_container` | `android.view.ViewGroup` | A container for the `car_ui_toolbar_title_logo`. The container will be displayed (or hidden) instead of the ImageView. |\n| `car_ui_toolbar_title_logo` | `android.widget.ImageView` | The logo, when car_ui_toolbar_logo_ fills_nav_icon_space is `false` |\n| `car_ui_toolbar_search_view_container` | `android.widget.FrameLayout` | A container into which the search view is to be inflated. This reduces inflation durations on screens without Search bars. |\n| `car_ui_toolbar_progress_bar` | `android.widget.ProgressBar` | A progress bar. |\n\nNext, you must also customize `car_ui_toolbar_search_view.xml`, which contains the\nSearch bar, which must have the following views:\n\n| id | View type | Description |\n|-------------------------------|----------------------------|--------------------------------------------------------------------------------|\n| `car_ui_toolbar_search_bar` | `android.widget.EditText` | The EditText where the user types text to search. |\n| `car_ui_toolbar_search_icon` | `android.widget.ImageView` | An icon, that normally shows a search icon but can be changed by applications. |\n| `car_ui_toolbar_search_close` | `android.view.View` | A view that when clicked will clear the search box |\n\nIn addition to the layout, you can use these Boolean attributes to customize the toolbar:\n\n| Attribute | Description |\n|--------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|\n| `car_ui_toolbar_tabs_on_second_row` | Determines whether or not to hide the title when tabs are displayed. |\n| `car_ui_toolbar_nav_icon_reserve_space` | Determines if the title should be moved to the left to occupy the space of the Navigation icon when the Navigation icon is hidden. |\n| `car_ui_toolbar_logo_fills_nav_icon_space` | Display the logo in the same space as the Navigation button when no Navigation button is present. |\n| `car_ui_toolbar_show_logo` | To permanently disable the display of a logo in the toolbar, set this to `false`. |\n\nThese views are displayed, hidden, or changed based on the `setState` of the\n`ToolbarControllerImpl` method. For specifics about which view is displayed and when,\nsee that method."]]