当 Activity 添加到后退堆栈时,如何使 Android AppCompat 工具栏中的文本居中?

How to center text in Android AppCompat Toolbar when Activity is added to back stack?

试图将 Android 工具栏中的 TextView 居中,但是当有一个视图添加到后退堆栈时,居中丢失了。似乎后面的项目不是工具栏的一部分,这导致了问题。

这里是工具栏的xml:

<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_scrollFlags="scroll|enterAlways">
<FrameLayout
android:background="@color/primary"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
<!-- This is a centered title -->
    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:layout_gravity="center"
         android:layout_marginLeft="?attr/actionBarSize"
            android:layout_marginRight="?attr/actionBarSize"
        android:gravity="center_vertical|center_horizontal">
        <TextView
            android:id="@+id/toolbar_title"
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:text="Blah"
            android:textSize="18dp"
            android:textColor="@color/white"
            style="@style/TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse" />
    </LinearLayout>
</FrameLayout>

当没有返回堆栈居中时:

当 Activity 添加到后退堆栈时显示后退按钮并且文本居中丢失:

问题是您对中心 TexView 的误解。

TextView 在其父亲(LinearLayout) 的中心,但不在工具栏 的中心。

当您向工具栏(导航项)添加新项目时,它会推动 FrameLayout,但 TextView 保持在其父亲 LinearLayout 的中心,但不在中心 工具栏.

TextView 是 LinearLayout 的一个项目,位于其容器 LinearLayout 的中心。

LinearLayout 是 FrameLayout 的一项。

FrameLayout 是工具栏的一项。

希望对你有所帮助