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