Android 仿iPhone的日期时间选择器

时间:2023-03-09 19:50:55
Android 仿iPhone的日期时间选择器

可选只选择日期,也可以同时选择时间
只选择日期的情况
Android 仿iPhone的日期时间选择器

同时选择日期和时间的情况

Android 仿iPhone的日期时间选择器

关键代码:

findViewById(R.id.selectDateButton).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
View timepickerview=LayoutInflater.from(getContext()).inflate(
R.layout.timepicker, null);
ScreenInfo screenInfo = new ScreenInfo(getContext());
wheelMain = new WheelMain(timepickerview,hasTime);
wheelMain.screenheight = screenInfo.getHeight();
String time = itemValue.getText().toString();
Calendar calendar = Calendar.getInstance();
if(JudgeDate.isDate(time, formatStr)){
try {
calendar.setTime(dateFormat.parse(time));
} catch (ParseException e) {
e.printStackTrace();
}
}
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
int hour = calendar.get(Calendar.HOUR_OF_DAY);
int min = calendar.get(Calendar.MINUTE);
if(hasTime)
wheelMain.initDateTimePicker(year,month,day,hour,min);
else
wheelMain.initDateTimePicker(year,month,day);
new AlertDialog.Builder(context)
.setTitle("选择时间")
.setView(timepickerview)
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
itemValue.setText(wheelMain.getTime());
}
}).setNegativeButton("取消", null)
.show();
}
});
WheelMain wheelMain = new WheelMain(timepickerview,hasTime);
if(hasTime)
wheelMain.initDateTimePicker(year,month,day,hour,min);
else
wheelMain.initDateTimePicker(year,month,day);

代码:这里