很少用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) { }
});
有一点需要注意,系统语言设为英文时,显示形式为 月 日 年,系统语言为中文时,显示形式为 年 月 日。
这个还是挺人性化的,给谷歌公司点个赞。
这已经基本满足我的需求了,以后有时间再研究。。。