安卓开发自带了很多控件,方便了快速编程。但是自带控件的主题颜色往往出现和开发软件的颜色不一致。
但是对于轻量级的应用,重画一个控件则工程量非常大。
所以仅修改控件颜色则可以方便快捷解决这个问题。
如下图的日期选择器DatePickerDialog,安卓5.0下的默认主题颜色为绿色,所以自带控件一律为绿色。那么如何将其转化为和项目颜色一致的颜色呢(如下右图)。
其实,安卓开发中的Style文件可以实现对控件风格化。
首先在style.xml添加一个"ThemeDialog"的style
<resources>
<style name="ThemeDialog" parent="android:Theme.Material.Light.Dialog">
<item name="android:colorAccent">填上想要的颜色...</item>
<item name="android:colorPrimary">填上想要的颜色...</item>
<item name="android:colorPrimaryDark">填上想要的颜色...</item>
</style>
</resources>
然后,在新建DatePickerDialog的函数参数里面填进刚才写好的Style---R.style.ThemeDialog即可。
DatePickerDialog pickerData = new DatePickerDialog(this,R.style.ThemeDialog, mdateListener, mYear, mMonth, mDay);
不仅仅对于日期选择器控件,其实安卓自带的很多控件都可以使用Style这种方法来到达修改主题颜色的目的。