時(shí)間選擇是眾多app中比較常見(jiàn)的一種需求,自帶的時(shí)間選擇在樣式上還是挺炫酷的,可是不同版本的差異性比較大的,為保存版本統(tǒng)一所以選擇定制時(shí)間選擇控件。
- WheelView.java 是一個(gè)自定義View,主要重寫了其
onDraw()方法,內(nèi)部維護(hù)了一個(gè)LinearLayout,通過(guò)添加TextView展示出不同數(shù)字的效果; - WheelAdapter.java(類似BaseAdapter)可保證View的重復(fù)利用,這樣使用WheelView和展示的Item之間解耦,也能滿足自定義itemView的需求。
- 可擴(kuò)展DateTimePickerView.java,目前只支持3種樣式(年月日時(shí)分,年月日,時(shí)分)
Features
- 簡(jiǎn)單易用
- 可擴(kuò)展性強(qiáng)
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);
gitHub地址:https://github.com/XBeats/and_pick_datetime
ScreenShot

pickdatetime.gif