项目中再次遇到的一个问题,使用到了DatePicker控件,在Android5.0+上的DatePicker是完全的Material Design风格,但是更多的时候,它顶部的背景颜色与整个项目的颜色风格不是很搭,这时候就需要去修改控件的颜色了。
如何去解决呢?
<style name="MyDatePickerDialogTheme" parent="android:Theme.Material.Light.Dialog">
<item name="android:datePickerStyle">@style/MyDatePickerStyle</item>
<item name="android:colorAccent">@color/colorStatusBar</item>
</style>
<style name="MyDatePickerStyle" parent="@android:style/Widget.Material.Light.DatePicker">
<item name="android:headerBackground">@color/colorStatusBar</item>
</style>
如何使用?
// R.style.MyDatePickerDialogTheme
new DatePickerDialog(MainActivity.this, R.style.MyDatePickerDialogTheme, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
//DO SOMETHING
}
}, 2017, 02, 25).show();
上面重新定义了DatePicker控件的style,并在代码中引用,便可以解决问题了。