我相信很多人对android 5.0的Material Design一见钟情,有些人比如我简直已经到了崇拜的地步,所以在查阅了大量资料之后,我决定让我的应用也用Material Design的风格润润色。
一开始我把我项目原有的theme中的自定义style(比如edittext、textview、button等等)全部注释掉,因为我们想用5.0的风格嘛,然后在theme继承v7包中的appcompat主题样式,这么一改,果然好了!发现actionbar变了,一般的控件也变了。但是有个问题,我原来的主题颜色需要替换成现在的colorprimary,所以把我自己写的布局控件等等都替换成了colorprimary对应的颜色,运行,perfect。
等等。有哪里不对。
我发现我登录页面的一个输入框的样式怎么还是4.0的?然后代码里找,原来这个控件是继承的AutoCompleteTextView,可是好奇怪,v7包难道不管这个控件么?查了一下,发现v7包只支持edittext,textview,spinner等常用的控件,AutoCompleteTextView这种控件根本没有支持,而最恶心的是,连button都不支持。。这个让我情何以堪。。以下是支持的控件:
EditText
Spinner
CheckBox
RadioButton
SwitchCompat
CheckedTextView
所以呢,Material Design虽好,可不是随随便便就可以做的。
接下来我就说说我是怎么把我的应用TT日程管理修改为meterial风格的。
注:本文引用了很多http://www.jcodecraeer.com/上的文章,深怀感激。
效果
首先,有图有真相,看下原来的一个应用截图和现在的截图:
你可以下载最新的版本看下(如果是第一幅图的效果,说明我还没上线3.0.1版本…),效果还是很明显的,当然,这其中最主要的原因还是配色问题。
配色
material风格的配色是怎样的呢,我不擅长这方面的东西,所以给大家一个网站,在线配色用的,效果很棒:http://www.materialpalette.com/,选定一个主色,一个配色,然后就可以下载自动生成的xml颜色文件了。