Android-Toolbar标题居中与字体大小和颜色
在安卓APP开发一直以来习惯性地都是自己写标题栏的布局。为了及时跟上时代的步伐,在现在的项目中引入了Toolbar.
1、返回的箭头
设置图标:
toolbar:navigationIcon="@drawable/arrow_left" //xml
this.setNavigationIcon(); //代码
设置点击事件:
this.setNavigationOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
((Activity) context).onBackPressed();
}
});
@Override
public void onClick(View v) {
((Activity) context).onBackPressed();
}
});
2、标题居中
Toolbar自带的Title是左对齐的,就在返回的那个箭头的右边,一般我们都希望标题能居中显示。度娘了一圈回来没有发现更好的办法去改变Toolbar的Title去居中显示。
更多的方法是加一个Textviw去居中,然后把自带的Title设置为空。
更多的方法是加一个Textviw去居中,然后把自带的Title设置为空。
3、字体样式
首先标题里的样式可以在插入的Textview里去设置。当代码动态加入菜单的时候,如果是仅仅是图标还好,如果是只是一个title呢
以前基本没用过Menu.现在上用上来,感觉还行,很容易上手,,但是到设置完Title后想给个颜色和字体大小我就蒙了说好的TextSize 和TextColor呢
最后参照http://www.cnblogs.com/oyjt/p/4762640.html得到解决
这里总结下:
sjd
效果如下
把以下的这个TextSize 改为5sp效果又如下图。显示两个文字都变了
<item name="android:textSize">16sp</item> <!-- 搞掂字体大小-->
1、这个TextSize影响了前面插入的居中标题的Textview 同时也作用于MenuItem的Title
2、而textColor仅仅作于了居中标题的TextView,MenuItem的Title还是黑色
3、设置了actionMenuTextColor才改变了MenuItem的Title的颜色
4、actionMenuTextAppearance 这个 没有效果~~
5、注意Toolbar的Theme ,android:theme="@xx" 网上有的文章与的是app:theme="@xx"这个也是个坑,MenuItem没有效果,
开始我没注意对比了半天代码才发现。
6、第4点其实是用于设置MenuItemTitle的文字大小的。但是这里的TextSize为设置所有的,会覆盖掉actionMenuTextAppearance的属性。所以如果想要标题颜色和菜单字体大小不一样的话。去掉Toolbar Theme里的textSize,用actionMenuTextAppearance设置MenuItem字体大小,标题的就在插入的TextVIew中加入样式就可以