如果启用后退按钮,工具栏标题不会正确显示在中心
Toolbar title not showing in Center properly if Back button is enabled
我想在中间显示 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>
Java代码:
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();
}
});
结果:
如果我启用工具栏的后退按钮,标题文本无法正确显示在中心。
如果未启用工具栏的后退按钮,一切正常,即
如果
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
结果:
现在,我想在中心显示标题,同时启用工具栏的后退按钮。这该怎么做 ?任何帮助
1) 你需要删除这个
title.setText("Title");
因为已经在 xml 文件中。
2) 使用
getSupportActionBar().setDisplayShowTitleEnabled(false);
3) 为 TextView
设置布局引力
android:layout_gravity="center"
编辑:
同时将 TextView
的高度和宽度更改为 wrap_content
。
我想这个问题最简单的解决方案是将 TextView 的宽度和高度都更改为 wrap_content。希望对你有帮助。
我想在中间显示 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>
Java代码:
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();
}
});
结果:
如果我启用工具栏的后退按钮,标题文本无法正确显示在中心。
如果未启用工具栏的后退按钮,一切正常,即
如果
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
getSupportActionBar().setDisplayShowHomeEnabled(false);
结果:
现在,我想在中心显示标题,同时启用工具栏的后退按钮。这该怎么做 ?任何帮助
1) 你需要删除这个
title.setText("Title");
因为已经在 xml 文件中。
2) 使用
getSupportActionBar().setDisplayShowTitleEnabled(false);
3) 为 TextView
android:layout_gravity="center"
编辑:
同时将 TextView
的高度和宽度更改为 wrap_content
。
我想这个问题最简单的解决方案是将 TextView 的宽度和高度都更改为 wrap_content。希望对你有帮助。