ToolBar基本使用
关于ToolBar的使用,网上已经非常多了,
思路决定出路
so, 思路是这样的:
- 隐藏ActionBar,这里有两种设定方法
- 布局文件中声明, 没什么说的
- 代码中设定一下,没什么说的
可以参考这里学习:
Android 5.x Theme 与 ToolBar 实战
Android Toolbar样式定制详解
ToolBar菜单
ToolBar使用菜单,思路长这样:
首先在menu/menu_main.xml去声明布局,然后重写onCreateOptionsMenu(inflate该布局)和onOptionsItemSelected(设定其点击事件)即可,当然也可以通过toolbar.setOnMenuItemClickListener实现点击menu的回调。
这里遇到个坑,我只需要有一个菜单,默认设定后颜色为黑色,和橙色的colorPrimary不搭调,然后想着设定为白色,没想到掉坑里去了,其实我不是一个人:Android中菜单的字体太小了:设置actionbar中menu的text的size,这位大神很给力,尝试了各种方法,最后搞掂,思路清晰,粗暴但是不简单呐。
我直接从他的解决方法入手,开始搞,然而不是很靠谱,只能修改字体大小,颜色还是黑的,丑爆。
因此来到了这里:Android Toolbar样式定制详解,
方法就是添加 ToolBar 主题
这个demo运行,完美解决,但是在我自己的项目里,一直出不来效果,一定是哪里出现了问题。。
没错,确实是我的问题,凡事还是多反思自己,我画蛇添足咯,多写了点东西,是什么呢,你们应该猜到了,我们来看:
首先敲定ToolBar布局,加一个theme:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?/attr/actionBarSize"
android:background="?attr/colorPrimary"
app:theme="@style/ToolbarTheme">
</android.support.v7.widget.Toolbar>
然后定义ToolBarTheme样式
注意,此处的坑较多,首先,要有个parent,然后actionMenuTextColor前面不能有android前缀,谁加谁怀孕,当然在values-v21/styles.xml里是需要添加android前缀的。
" data-snippet-id="ext.124cfa678dc23e56377d3d6a603f2c55" data-snippet-saved="false" data-codota-status="done"> <!-- ToolBar菜单样式 -->
<style name="ToolbarTheme" parent="@style/ThemeOverlay.AppCompat.ActionBar">
<item name="actionMenuTextColor">@color/white</item> <!-- 敲定颜色-->
<item name="android:textSize">18sp</item> <!-- 搞掂字体大小-->
<item name="android:textAllCaps">false</item>
</style>
好了,这样就可以了,ToolBar 修改菜单字体和颜色完成。
<item name="android:textAllCaps">false</item> 设置防止都是大写