热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

更改Android5.0的Datepicker对话框颜色

是否可以更改android5.0的datepicker(以及timepicker)配色方案?我尝试设置强调颜色,但这不起作用(有和没有android:):

是否可以更改android 5.0的datepicker(以及timepicker)配色方案?

我尝试设置强调颜色,但这不起作用(有和没有android :):


@color/purple
@color/purple_tint
@color/purple_tint

来自原文:

对于这样的事情:

解决方法:

Neil的建议导致全屏DatePicker的原因是父主题的选择:



此外,如果你走这条路线,你必须在创建DatePickerDialog时指定主题:

// R.style.DialogTheme
new DatePickerDialog(MainActivity.this, R.style.DialogTheme, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
//DO SOMETHING
}
}, 2015, 02, 26).show();

在我看来,这并不好.应该尝试将样式保留在java和styles.xml / themes.xml中.

我同意Neil的建议,稍微改变(改变父主题,比如说Theme.Material.Light.Dialog)会得到你想要的结果.但是,这是另一种方式:

在第一次检查时,我们遇到了datePickerStyle,它定义了诸如:headerBackground(你想要改变什么),dayOfWeekBackground以及一些其他文本颜色和文本样式的东西.

在您的应用主题中覆盖此属性将不起作用. DatePickerDialog使用由属性datePickerDialogTheme分配的单独主题.因此,为了使我们的更改生效,我们必须在重写的datePickerDialogTheme中覆盖datePickerStyle.

开始了:

在应用的基本主题中覆盖datePickerDialogTheme:


定义MyDatePickerDialogTheme.父主题的选择将取决于您的应用程序的基本主题:它可以是Theme.Material.Dialog或Theme.Material.Light.Dialog:


我们使用样式MyDatePickerStyle重写了datePickerStyle.父母的选择将再次取决于您的应用程序的基本主题:Widget.Material.DatePicker或Widget.Material.Light.DatePicker.根据您的要求定义它:


目前,我们只重写headerBackground,默认设置为?attr / colorAccent(这也是Neil建议在更改背景时的原因).但是有很多可能的定制:

dayOfWeekBackground
dayOfWeekTextAppearance
headerMonthTextAppearance
headerDayOfMonthTextAppearance
headerYearTextAppearance
headerSelectedTextColor
yearListItemTextAppearance
yearListSelectorColor
calendarTextColor
calendarSelectedTextColor

如果您不想要这么多控件(自定义),则不需要覆盖datePickerStyle. colorAccent控制大多数DatePicker的颜色.因此,覆盖myDatePickerDialogTheme中的colorAccent应该可以正常工作:


覆盖colorAccent为您提供更改OK& amp;取消文本颜色.不错.

这样您就不必向DatePickerDialog的构造函数提供任何样式信息.一切都正确连线:

DatePickerDialog dpd = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
}, 2015, 5, 22);
dpd.show();


推荐阅读
author-avatar
手机用户2502906317
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有