工具栏

拨号器使用底盘工具栏,软件包名称为 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 用于包含 MenuItems 的 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 进行显示、隐藏或更改。有关显示哪个视图以及何时显示的具体信息,请参阅该方法。