1. android 怎么让toolbar上面的title居中
自带的settitle是居左的,可以自定义一个textview,如下方式:
Android自带的toolbar有设置title的功能,但是设置的title都是居左的,但是很多需求都是要title居中,主要的方法就是:不使用setTitle,而是在toolBar的xml定义中插入一个TextView,然后设置其layout_gravity为center,它就在正中间了。。
1、定义toolbar的xml文件
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?attr/actionBarSize"
android:background="@color/primary">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:singleLine="true"
android:textColor="@color/white"
android:textSize="20sp" />
</android.support.v7.widget.Toolbar>
具体代码中使用toolbar
public Toolbar initToolbar(int id, int titleId, int titleString) {
Toolbar toolbar = (Toolbar) findViewById(id);
// toolbar.setTitle("");
TextView textView = (TextView) findViewById(titleId);
textView.setText(titleString);
setSupportActionBar(toolbar);
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
if (actionBar != null){
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
}
return toolbar;
}
2. android setTitle 要怎么改变字体的大小
主题里添加如下,可以修改title的字体的大小和样式
比如没有ActionBar的Activity中,定义如下的样式
<style name="AppTheme" parent="android:Theme.Light">
<!-- 不要ActionBar -->
<item name="android:windowActionBar">false</item>
<item name="android:windowTitleStyle">@style/WindowTitle</item>
</style>
<style name="WindowTitle" parent="@android:style/TextAppearance">
<item name="android:textColor">#fff</item>
<item name="android:textSize">20sp</item>
<item name="android:textStyle">bold</item>
</style>
如果是在ActionBar存在的前提下,主题样式要如下
<style name="AppTheme" parent="android:Theme.Light">
<!-- 这个是设置ActionBar上的menu的文本显示样式-->
<item name="android:actionMenuTextAppearance">@style/TextAppearance</item>
<!-- 这个是设置ActionBar上的menu的文本显示颜色-->
<item name="android:actionMenuTextColor">@color/main_color</item>
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="@android:style/Widget.ActionBar">
<!-- 这个是设置ActionBar上的title的文本显示样式-->
<item name="android:titleTextStyle">@style/TextAppearance</item>
</style>