时间选择是众多app中比较常见的一种需求,自带的时间选择在样式上还是挺炫酷的,可是不同版本的差异性比较大的,为保存版本统一所以选择定制时间选择控件。
WheelView.java 是一个自定义View,主要重写了其onDraw()方法,内部维护了一个LinearLayout,通过添加TextView展示出不同数字的效果;
WheelAdapter.java(类似BaseAdapter)可保证View的重复利用,这样使用WheelView和展示的Item之间解耦,也能满足自定义itemView的需求。
可扩展DateTimePickerView.java,目前只支持3种样式(年月日时分,年月日,时分)
Features
简单易用
可扩展性强
Getting started
Calendar todayCal = Calendar.getInstance();
Calendar startCal = Calendar.getInstance();
Calendar endCal = Calendar.getInstance();
endCal.add(Calendar.YEAR, 6);
new DatePickDialog.Builder(DateParams.STYLE_ALL)
.setCurrentDate(todayCal.getTime())
.setStartDate(startCal.getTime())
.setEndDate(endCal.getTime())
.setOnSureListener(new OnSureListener() {
@Override
public void onSure(Date date) {
String message = new SimpleDateFormat("yyyy-MM-dd HH:mm").format(date);
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_SHORT).show();
}
})
.show(this);
ScreenShot
pickdatetime.gif