【问题标题】:Prevent toolbar title on navigation icon android防止导航图标android上的工具栏标题
【发布时间】:2020-05-22 08:57:19
【问题描述】:

我有两个屏幕。第一个是主屏幕。没有只有 NavigationIcon 的工具栏标题。第二个是其他活动。它有一个标题和 HomeAsUpIndicator。我使用下面的样式代码来消除第二个活动中标题和 HomeAsUpIndicator 图标之间的差距。

  <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="actionButtonStyle">@style/ActionButtonStyle</item>
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="toolbarNavigationButtonStyle">@style/homeToolbarNavigationButtonStyle</item>
    </style>

    <style name="ActionButtonStyle" parent="Widget.AppCompat.ActionButton">
        <item name="android:minWidth">0dip</item>
        <item name="android:paddingStart">8dip</item>
        <item name="android:paddingEnd">8dip</item>
    </style>

    <style name="homeToolbarNavigationButtonStyle" parent="@style/Widget.AppCompat.Toolbar.Button.Navigation">
        <item name="android:minWidth">0dp</item>
        <item name="android:paddingLeft">10dp</item>
        <item name="android:paddingRight">-20dp</item>
        <item name="android:scaleType">centerInside</item>
    </style>

虽然主屏幕中没有标题,但在我使用此样式时,NavigationIcon 在标题下方。如何解决这个问题?哟可以显示在图片中。

【问题讨论】:

    标签: android styles android-toolbar


    【解决方案1】:

    我创建了一个自定义工具栏 .xml 并添加了我的第二个活动 .xml;

    <androidx.appcompat.widget.Toolbar
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/my_custom_toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:contentInsetLeft="0dp"
        app:contentInsetStart="0dp"
        app:contentInsetStartWithNavigation="0dp"
        >
    
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">
    
            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:orientation="horizontal"
                android:paddingLeft="@dimen/general_padding_left"
                android:gravity="left"
                android:layout_centerVertical="true">
                <Button
                    android:id="@+id/go_back_icon"
                    android:layout_width="32dp"
                    android:layout_height="32dp"
                    android:background="@drawable/ic_go_back_icon"
                    />
                <TextView
                    android:id="@+id/toolbar_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:textSize="20dp"
                    android:textColor="@color/white"/>
            </LinearLayout>
        </RelativeLayout>
    </androidx.appcompat.widget.Toolbar>
    

    【讨论】:

      【解决方案2】:

      从您的问题来看,您似乎想在第二个活动中隐藏标题。如果我错了,请纠正我

      在样式中使用windowNoTitle 属性不会在工具栏中显示标题。

      <item name="windowNoTitle">true</item>
      

      或者,您可以在活动的 onCreate 中使用setTitle(" ")

      【讨论】:

      • 谢谢。我使用它但不工作。我编辑了问题。你可以更好地看到我的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-07
      • 1970-01-01
      • 2018-02-05
      • 1970-01-01
      相关资源
      最近更新 更多