web-dev-qa-db-ja.com

Android-ツールバーのタイトルを中央揃え

そのような私のアプリにツールバーがあります:

<?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の値を変更する方法がわかりません。誰かが私を助けることができますか?

9
benjyspider

カスタムツールバーレイアウトがある場合は、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!");
_
26
Karim