Android DatePickerDialog 只显示年月
来源:互联网 发布:c专家编程豆瓣 编辑:程序博客网 时间:2024/06/05 17:58
今天写一个日期控件,默认显示年月日,但是我现在只想显示年月,在网上找了一个比较简单容易了理解的方法,分享如下:
先看一个效果图:
处理前: 处理后:
实现的代码:
1. 通过遍历方法查找DatePicker里的子控件:年、月、日
private DatePicker findDatePicker(ViewGroup group) { if (group != null) { for (int i = 0, j = group.getChildCount(); i < j; i++) { View child = group.getChildAt(i); if (child instanceof DatePicker) { return (DatePicker) child; } else if (child instanceof ViewGroup) { DatePicker result = findDatePicker((ViewGroup) child); if (result != null) return result; } } } return null; }
2.隐藏不想显示的子控件,这里隐藏日控件
final Calendar cal = Calendar.getInstance(); mDialog = new CustomerDatePickerDialog(getContext(), this, cal.get(Calendar.YEAR), cal.get(Calendar.MONTH), cal.get(Calendar.DAY_OF_MONTH)); mDialog.show(); DatePicker dp = findDatePicker((ViewGroup) mDialog.getWindow().getDecorView()); if (dp != null) { ((ViewGroup)((ViewGroup) dp.getChildAt(0)).getChildAt(0)).getChildAt(2).setVisibility(View.GONE); }
如果想隐藏年,把getChildAt(2)改为getChildAt(0)...
3.补充:如果标题栏也想改,需要自定义并实现onDateChanged方法才可实现,代码:
class CustomerDatePickerDialog extends DatePickerDialog { public CustomerDatePickerDialog(Context context, OnDateSetListener callBack, int year, int monthOfYear, int dayOfMonth) { super(context, callBack, year, monthOfYear, dayOfMonth); } @Override public void onDateChanged(DatePicker view, int year, int month, int day) { super.onDateChanged(view, year, month, day); mDialog.setTitle(year + "年" + (month + 1) + "月"); } }
0 0
- Android DatePickerDialog 只显示年月
- Android DatePickerDialog 只显示年月
- Android DatePickerDialog 只显示年月
- Android DatePickerDialog 只显示年月
- Android DatePickerDialog 只显示年月
- android中DatePickerDialog只显示年月
- Android的DatePickerDialog只显示年月
- android 修改DatePickerDialog只显示“年月”,去掉“日”显示
- Android日历选择控件DatePickerDialog只显示年月
- DatePickerDialog用法及只显示年月隐藏日
- Android 日期控件只显示年月
- Android日历只显示年月,只显示年
- easyui只显示年月
- datepicker只显示年月
- Android 只有年月没有日的datepickerdialog
- Android只显示月和日的DatePickerDialog
- [Android]只显示月和日的DatePickerDialog
- [Android]只显示月和日的DatePickerDialog
- Codeforces Round #279 (Div. 2), problem: (B) Queue
- ArrayList和LinkedList的几种循环遍历方式及性能对比分析
- 《深入理解Java虚拟机》学习小记一之自动内存管理机制(一)
- UML类图关系(泛化 、继承、实现、依赖、关联、聚合、组合)
- 关于PHP的继承相关知识点
- Android DatePickerDialog 只显示年月
- 科普Spark,Spark是什么,如何使用Spark
- Oracle笔记多表查询(1)
- linux解压war包的命令
- c/c++ static
- 最近用的命令
- linux curl
- 作为一个屌丝程序员不得不收藏的工具类 一 json工具类
- DM8168 关于nand flash的折腾之路