ActionBar的风格化——让机器做去吧
想要定制一下应用的ActionBar样式,比如背景、文字颜色。
就这两项来说并没有太大的困难,参考官方文档的ActionBar的风格化就可以。
对style还不怎么熟悉的我,费了一番功夫搞定了背景和title文字的颜色。因为继承的是Theme.AppCompat.Light.DarkActionBar
主题,所以效果实际上就是把背景颜色给改了一下。
但这时候如果点击右上的按钮,出现的options menu依旧是黑色的背景,看起来相当不协调。
于是自然再去找如何定制menu的颜色。请出谷歌大法,输入“action bar menu color”,回车,首页就能看见满意的结果了。
不过再一次出现了不可思议现象之“It works on their machines”!但在我这里不管用啊!!
经过一定时间的挣扎,问题依旧没有得到解决。然后我就试起了同一问题中被采纳的答案的做法——使用ActionBar Generator。
设置完下载个zip包,导入到资源目录即可,就这么简单。里面包括了style的代码,各种需要的资源文件,而且drawable还是9.png格式的。太省心了!
虽然方便,就是省了太多了,可能影响自己的学习。
前面都是使用style静态资源来定义样式的,最后再说一下如何用代码动态改变ActionBar的背景颜色。也就是几行代码的事儿,直接上代码:
ActionBar actionBar = getSupportActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(0xadf1b1ff));