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