Symbolleiste

Dialer verwendet die Chassis-Symbolleiste mit dem Paketnamen com.android.car.ui.toolbar.Toolbar . Der erste Schritt zum Anpassen der Symbolleiste besteht darin, die Layoutdatei zu überlagern, car_ui_toolbar.xml und car_ui_toolbar_two_row.xml für die Legacy-Symbolleiste und car_ui_base_layout_toolbar.xml für die Basislayoutversion. In jeder Version des Layouts muss jede der folgenden Ansichten mit den entsprechenden IDs versehen werden:

Ich würde Ansichtstyp Beschreibung
car_ui_toolbar_background /td> android.view.View Veraltet für Basislayouts, wird aber mit dem vorherigen Symbolleistenstil verwendet, um die Höhe zu bestimmen.
car_ui_toolbar_tabs com.android.car.ui.toolbar.TabLayout Position der Registerkarten.
car_ui_toolbar_nav_icon android.widget.ImageView Die Schaltfläche „Zurück“, „Schließen“, „Nach unten“.
car_ui_toolbar_logo android.widget.ImageView Das Logo, wenn car_ui_toolbar_logo_
fills_nav_icon_space ist true .
car_ui_toolbar_nav_icon_container android.view.ViewGroup Ein Container für car_ui_toolbar_logo und car_ui_toolbar_nav_icon .
car_ui_toolbar_menu_items_container android.view.ViewGroup Eine ViewGroup, die MenuItems enthält.
car_ui_toolbar_title android.widget.TextView Der Titel der Symbolleiste.
car_ui_toolbar_title_logo_container android.view.ViewGroup Ein Container für das car_ui_toolbar_title_logo . Der Container wird anstelle von ImageView angezeigt (oder ausgeblendet).
car_ui_toolbar_title_logo android.widget.ImageView Das Logo, wenn car_ui_toolbar_logo_
fills_nav_icon_space ist false
car_ui_toolbar_search_view_container android.widget.FrameLayout Ein Container, in den die Suchansicht aufgeblasen werden soll. Dies reduziert die Inflationsdauer auf Bildschirmen ohne Suchleisten.
car_ui_toolbar_progress_bar android.widget.ProgressBar Ein Fortschrittsbalken.

Als nächstes müssen Sie auch car_ui_toolbar_search_view.xml anpassen, das die Suchleiste enthält, die die folgenden Ansichten haben muss:

Ich würde Ansichtstyp Beschreibung
car_ui_toolbar_search_bar android.widget.EditText Der EditText, in den der Benutzer den zu durchsuchenden Text eingibt.
car_ui_toolbar_search_icon android.widget.ImageView Ein Symbol, das normalerweise ein Suchsymbol anzeigt, aber von Anwendungen geändert werden kann.
car_ui_toolbar_search_close android.view.View Eine Ansicht, die beim Klicken das Suchfeld löscht

Zusätzlich zum Layout können Sie diese booleschen Attribute verwenden, um die Symbolleiste anzupassen:

Attribut Beschreibung
car_ui_toolbar_tabs_on_second_row Legt fest, ob der Titel ausgeblendet wird, wenn Registerkarten angezeigt werden.
car_ui_toolbar_nav_icon_reserve_space Legt fest, ob der Titel nach links verschoben werden soll, um den Platz des Navigationssymbols einzunehmen, wenn das Navigationssymbol ausgeblendet ist.
car_ui_toolbar_logo_fills_nav_icon_space Zeigen Sie das Logo an derselben Stelle wie die Navigationsschaltfläche an, wenn keine Navigationsschaltfläche vorhanden ist.
car_ui_toolbar_show_logo Um die Anzeige eines Logos in der Symbolleiste dauerhaft zu deaktivieren, setzen Sie dies auf false .

Diese Ansichten werden basierend auf dem setState der ToolbarControllerImpl Methode angezeigt, ausgeblendet oder geändert. Einzelheiten dazu, welche Ansicht wann angezeigt wird, finden Sie unter dieser Methode.