android datepicker只显示年和日期
16lz
2021-01-23
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();}}}
更多相关文章
- 代码中设置drawableleft
- android 3.0 隐藏 系统标题栏
- Android开发中activity切换动画的实现
- Android(安卓)学习 笔记_05. 文件下载
- Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
- 技术博客汇总
- android 2.3 wifi (一)
- AndRoid Notification的清空和修改
- Android中的Chronometer