Android - 工具栏标题居中

Android - Center the title of the Toolbar

我的应用程序中有一个这样的工具栏:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:background="#263355"
    local:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    local:popupTheme="@style/ThemeOverlay.AppCompat.Light" />

然后我将标题添加为:

getSupportActionBar().setTitle(title);

我读过 Android toolbar center title and custom font

但是如果我改变工具栏的xml,我不知道如何改变TextView的值。有人可以帮助我吗?

如果您有自定义工具栏布局,请不要使用 getSupportActionBar().setTitle(title); 设置标题。

相反,假设您的 XML 布局如下所示:

        <!-- Toolbar -->
        <android.support.v7.widget.Toolbar
            android:id="@+id/main_toolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">

            <LinearLayout
                android:id="@+id/main_toolbar_layout"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:orientation="vertical">

                <TextView
                    android:id="@+id/main_toolbar_title"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content" />

            </LinearLayout>

        </android.support.v7.widget.Toolbar>

你需要打电话给你的 MainActivityonCreate() 中的某个地方,可能是:

((TextView) findViewById(R.id.main_toolbar_title)).setText("Title!");