Android 更改后DatePicker自定义Numberpicker样式不起作用
我有一个自定义日期选择器,它扩展了日期选择器 我已在加载组件时初始化了月份样式:Android 更改后DatePicker自定义Numberpicker样式不起作用,android,custom-component,Android,Custom Component,我有一个自定义日期选择器,它扩展了日期选择器 我已在加载组件时初始化了月份样式: private void updateCustomStyle() { ViewGroup childPicker = (ViewGroup) findViewById(Resources.getSystem().getIdentifier("month" /*rest is: day, year*/, "id", "android"));
private void updateCustomStyle() {
ViewGroup childPicker = (ViewGroup)
findViewById(Resources.getSystem().getIdentifier("month" /*rest is:
day, year*/, "id", "android"));
EditText textview = (EditText)
childPicker.getChildAt(0);
textview.setTextSize(35);
textview.setTextColor(Color.GREEN);
textview.invalidate();
}
在此之后,将加载日期选择器,月份字体更大,颜色为绿色。问题发生在我将月份滚动到另一个月份之后,我有一个在初始化时定义的日期更改侦听器:
this.init(agora.getYear(), agora.getMonth(), agora.getDate(),
this.getOnDataChangedListener());
在数据更改侦听器上,我有一个调用:
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
updateCustomStyle();
}
但当我滚动到另一个月后,它又回到了原来的风格。有什么建议吗
这种方法适用于Android 3.1和4.0。这些问题发生在android 4.1.2及更高版本上。有什么想法吗?在做了大量研究之后,我发现在android 4.1.X上你不能像在以前的版本上那样使用这种选择方式。您可以创建一个扩展NumberPicker的类并添加以下代码:
if (child instanceof EditText) {
((EditText) child).setTextSize(35);
}
但您仍然无法对选定的数字使用不同的样式,因此我所做的是在一些定制解决了问题之后使用simonVT numberpicker()