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>