2013-04-25 60 views
0

我有一个自定义日期选择器多数民众赞成在扩展日期选择器。DatePicker自定义Numberpicker样式更改后不工作

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及更高版本上。有任何想法吗?

回答

0

在做了大量的研究之后,我发现你不能在android 4.1.X上做这种选择风格,就像你可以在以前的版本中做的那样。你可以做的就是创建一个扩展NumberPicker一类,并添加以下代码:

if (child instanceof EditText) { 
     ((EditText) child).setTextSize(35); 
} 

但你仍然不能使用不同的样式选择的号码,所以我所做的是使用simonVT numberpicker(https://github.com/SimonVT/android-numberpicker )在一些定制解决了问题之后。