Android日期空间(DatePickerDialog)中的年月日不全部显示
16lz
2022-04-11
Android的DatePickerDialog中只显示年月、月日……
这时需要自定义一个类,并继承DatePickerDialog,在自定义类的构造器中调用下面方法
privatevoidsetFieldVisibleOrNot(DatePickerdatePicker,booleandayVisible,booleanmonthVisible,booleanyearVisible){Field[]dpFields=datePicker.getClass().getDeclaredFields();if(dayVisible==false||monthVisible==false||yearVisible==false){for(Fieldfield:dpFields){if((dayVisible==false&&"mDaySpinner".equals(field.getName()))||(monthVisible==false&&"mMonthSpinner".equals(field.getName()))||(yearVisible==false&&"mYearSpinner".equals(field.getName()))){field.setAccessible(true);Objectpicker=newObject();try{picker=field.get(datePicker);}catch(IllegalAccessExceptione){e.printStackTrace();}((View)picker).setVisibility(View.GONE);}}}}
方法中dayVisible、monthVisible、yearVisible,用于控制日期控件中的日、月、年是否显示,false为不显示,默认应该都设为true,在创建我们自定义日期控件类时,就应该将dayVisible、monthVisible、yearVisible传递进去,并且只能同构构造方法传递,不能用定义一个方法给dayVisible、monthVisible、yearVisible设置的方式,这样是没有效果的,因为当我们调用自定义的方法给dayVisible、monthVisible、yearVisible赋值时,说明日期控件已经创建好了,再去设置时当然是没效果的。
更多相关文章
- Android系统开发—对View的clipChildren,clipToPadding,importan
- Android(安卓)SDK Manager 更新方法
- Android(安卓)4.0 横竖屏切换注意事项
- Android:Debug certificate expired on DATE 解决方法
- android 实现时钟的简单方法
- android中GridView关于间距的属性值介绍
- Android(安卓)主动获取电量的方法
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用