我想在中心显示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);
结果:
现在,我想在中心显示标题,同时启用工具栏的后退按钮。这该怎么做 ?任何帮助
答案 0 :(得分:4)
1)您需要删除此
title.setText("Title");
因为已经存在于xml文件中。
2)使用
getSupportActionBar().setDisplayShowTitleEnabled(false);
3)设置TextView
android:layout_gravity="center"
修改强>
同时将TextView
的高度和宽度更改为wrap_content
。
答案 1 :(得分:0)
我想这个问题最简单的解决方案是将TextView的宽度和高度都更改为wrap_content。希望对您有所帮助。