尽管Android给我们提供了时间选择控件DatePicker和TimePicker(它们的使用方法可以参考我的这篇文章Android之日期时间选择控件DatePicker和TimePicker),但无奈我的项目主色调是土豪金和高级黑,原生的控件用在里面显得格格不入,特别是为了兼容低版本的系统之后显示的是2.x年代的风格,不但是简陋,简直是丑陋了。要解决这种问题,就只有走自定义控件这条道。但我目前还是不太熟悉自定义控件的写法,所以只好发挥拿来主义了。查看了一通之后,发现liuwan1992这位博主写的非常漂亮,我在他的基础上做了一些改动,使得整个控件更符合我的项目。
这是他的文章链接:Android 好看的自定义滚动式日期选择控件 ,关于控件的使用大家直接阅读他的文章即可。在此,感谢他的付出,本人只是巨人肩膀上的小白而已。
1、创建工程
你可以下载博主的源码,用Android Studio打开之后就直接动手修改,也可以像我这样新建一个工程,然后将需要用到的代码和文件从源码复制过来即可。
2、修改对话框外观
由于我需要用到我自己的颜色,所以在colors.xml中做了一些改动:
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
<color name="color_unit">#F0F0F0</color> //年、月、日等单位的字体颜色
<color name="color_item_bg">#FFFFFF</color>
<color name="color_text_unselected">#B0B0B0</color> //未被选中的数字颜色
<color name="color_desc">#666666</color>
<color name="color_result">#57C5E8</color>
<color name="color_bg">#b0000000</color> //作为背景的高级黑
<color name="color_gold">#ffda53</color> //作为字体的土豪金
</resources>
其中color_bg和color_gold分