如何在工具栏的左侧添加一个按钮?
Posted
技术标签:
【中文标题】如何在工具栏的左侧添加一个按钮?【英文标题】:How do I add a button to the left side of the toolbar? 【发布时间】:2022-01-05 07:05:00 【问题描述】:我有两个片段。当我从第一个片段切换到第二个片段时,工具栏上会显示一个后退箭头。如何让主屏幕上没有空白而不是返回箭头,但是有另一个按钮?
工具栏:
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_
android:layout_
android:background="?attr/colorPrimary"
android:elevation="4dp"
android:minHeight="64dp"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
两个屏幕:
【问题讨论】:
这能回答你的问题吗? How to change Toolbar Navigation and Overflow Menu icons (appcompat v7)? @BabyishTank,不,“setNavigationIcon()”对我不起作用。 【参考方案1】:我通过添加自己的按钮解决了这个问题。
<ImageButton
android:id="@+id/button_settings"
android:layout_
android:layout_
android:background="?attr/actionBarItemBackground"
app:srcCompat="@drawable/ic_settings" />
请注意,通过指定android:background="?attr/actionBarItemBackground"
,您可以获得与常规工具栏按钮相同的点击效果。
如果您想在某些屏幕上隐藏您的按钮,请将 addOnDestinationChangedListener 添加到 NavController:
navController.addOnDestinationChangedListener _, destination, _ ->
binding.buttonSettings.visibility =
if (destination.id == R.id.account_add_fragment) View.GONE else View.VISIBLE
【讨论】:
以上是关于如何在工具栏的左侧添加一个按钮?的主要内容,如果未能解决你的问题,请参考以下文章