拨号器使用软件包名称为 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
而显示、隐藏或更改。如需详细了解显示哪个视图以及何时显示,请参阅该方法。