很少用DatePicker,项目需要用到DatePicker,再用时发现跟以前有些变化,重新简单梳理一下DatePicker的用法。
先上效果图:
首先是xml文件的用法:
以前是用android:spinnersShown和android:calendarViewShown这两个属性来控制DatePicker是显示滚动选择器还是日历亦或者两者都显示。
现在如果只写这两个属性的话,DatePicker永远只显示日历,不会出现滚动选择器。
加上android:datePickerMode="spinner"这个属性之后,配合以上两个属性,完美控制DatePicker的的显示形式。
以下是我的xml文件:
<DatePicker android:id="@+id/date_picker" android:layout_width="wrap_content" android:layout_height="wrap_content" android:calendarViewShown="false" android:spinnersShown="true" android:datePickerMode="spinner" android:layout_gravity="center_horizontal"></DatePicker>
Java代码如下:
DatePicker datePicker = (DatePicker) view.findViewById(R.id.date_picker); Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); // 初始化DatePicker组件,初始化时指定监听器 datePicker.init(year, month, day, new DatePicker.OnDateChangedListener() { @Override public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) { } });
有一点需要注意,系统语言设为英文时,显示形式为 月 日 年,系统语言为中文时,显示形式为 年 月 日。
这个还是挺人性化的,给谷歌公司点个赞。
这已经基本满足我的需求了,以后有时间再研究。。。