小编典典

Android-将工具栏的标题居中

java

我的应用程序中有一个工具栏,例如:

<?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工具栏中心标题和自定义字体

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


阅读 236

收藏
2020-11-23

共1个答案

小编典典

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!");
2020-11-23