Android - 居中显示工具栏的标题

9

我有一个类似于这样的工具栏:

<?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居中标题和自定义字体

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


使用另一个答案,并使用findViewById获取TextView。 - Knossos
1个回答

28
不要使用`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!");

1
了不起的解决方案 @Karim - lmiguelvargasf

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接