问题
i have a Toolbar in my app like that:
<?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" />
And i add the title as that:
getSupportActionBar().setTitle(title);
I've read that Android toolbar center title and custom font
But if i change the xml of the toolbar, i don't know how to change the value of the TextView. Someone can help me ?
回答1:
Do not use getSupportActionBar().setTitle(title);
to set the title, if you have a custom Toolbar layout.
Instead, assuming your XML layout looks like this:
<!-- 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>
You need to call, somewhere in your MainActivity
's onCreate()
probably:
((TextView) findViewById(R.id.main_toolbar_title)).setText("Title!");
来源:https://stackoverflow.com/questions/30210931/android-center-the-title-of-the-toolbar