工具栏

拨号器使用软件包名称为 com.android.car.ui.toolbar.Toolbar 的底盘工具栏。自定义工具栏的第一步是叠加布局文件,针对旧版工具栏叠加 car_ui_toolbar.xmlcar_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_logocar_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 而显示、隐藏或更改。如需详细了解显示哪个视图以及何时显示,请参阅该方法。