如果启用后退按钮,工具栏标题不会正确显示在中心

Kap*_*put 1 xml android android-toolbar

我想toolbar在中心显示标题,所以我使用自定义textview来显示这样的标题:

       <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="?attr/actionBarSize"
        android:background="@color/colorPrimary"
        app:popupTheme="@style/AppTheme.PopupOverlay">

        <TextView
            android:id="@+id/toolbar_title"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:gravity="center"
            android:text="Title"
            android:textColor="@android:color/white"
            android:textSize="25sp"
            android:textStyle="bold" />
    </android.support.v7.widget.Toolbar>
Run Code Online (Sandbox Code Playgroud)

代码:

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    TextView title = (TextView) toolbar.findViewById(R.id.toolbar_title);
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
    title.setText("Title");
    toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            onBackPressed();
        }
    });
Run Code Online (Sandbox Code Playgroud)

结果 :

在此处输入图片说明

如果我启用工具栏的后退按钮,标题文本不会正确显示在中心。

如果未启用工具栏的后退按钮,则一切正常,即

如果

getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
Run Code Online (Sandbox Code Playgroud)

结果 :

在此处输入图片说明

现在,我还想在工具栏启用后退按钮的情况下在中心显示标题。这该怎么做 ?任何帮助

Piy*_*ush 5

1)你需要删除这个

title.setText("Title");
Run Code Online (Sandbox Code Playgroud)

因为已经在 xml 文件中。

2) 使用

getSupportActionBar().setDisplayShowTitleEnabled(false);
Run Code Online (Sandbox Code Playgroud)

3) 设置布局重力 TextView

android:layout_gravity="center"
Run Code Online (Sandbox Code Playgroud)

编辑:

还将高度和宽度更改TextViewwrap_content