public class YearMonthPicker extends DatePickerDialog {public YearMonthPicker(Context context, int theme,OnDateSetListener callBack, int year, int monthOfYear,int dayOfMonth) {super(context, theme, callBack, year, monthOfYear, dayOfMonth);init(year, monthOfYear, dayOfMonth);}public YearMonthPicker(Context context, OnDateSetListener callBack,int year, int monthOfYear, int dayOfMonth) {super(context, callBack, year, monthOfYear, dayOfMonth);init(year, monthOfYear, dayOfMonth);}private void init(int year, int month, int dayOfMonth) {hideDayView();hideCalendarView();setTitle(year, month);}@SuppressLint("NewApi")private void hideCalendarView(){if (android.os.Build.VERSION.SDK_INT >= 11) { getDatePicker().setCalendarViewShown(false);}}@Overridepublic void onDateChanged(DatePicker view, int year, int month, int day) {super.onDateChanged(view, year, month, day);setTitle(year, month);}private void setTitle(int year, int month) {month += 1;String yearStr = String.valueOf(year);String monthStr = (month < 10) ? ("0" + month) : ("" + month);setTitle(yearStr + "/" + monthStr);}private void hideDayView() {try {Field[] datePickerDialogFields = getClass().getSuperclass().getDeclaredFields();for (Field datePickerDialogField : datePickerDialogFields) {if (datePickerDialogField.getName().equals("mDatePicker")) {datePickerDialogField.setAccessible(true);DatePicker datePicker = (DatePicker) datePickerDialogField.get(this);Field datePickerFields[] = datePickerDialogField.getType().getDeclaredFields();for (Field datePickerField : datePickerFields) {if ("mDayPicker".equals(datePickerField.getName())|| "mDaySpinner".equals(datePickerField.getName())) {datePickerField.setAccessible(true);Object dayPicker = new Object();dayPicker = datePickerField.get(datePicker);((View) dayPicker).setVisibility(View.GONE);}}}}} catch (Exception ex) {ex.printStackTrace();}}}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. 如何快速删除卸载残余-注册表
  2. 0319作业
  3. 从键盘输入若干个学生成绩,输入负数作为输
  4. 【案例】使用flex弹性布局仿写移动端苏宁
  5. PHP基础知识:常见运算符、语句分支(模板写
  6. 0325作业
  7. List集合封装获取参数
  8. 0318作业
  9. 面向对象编程基础
  10. 如何充分利用小程序?