要创建一个旋转式样的Android日期和时间选择对话框,你可以使用DatePickerDialog和TimePickerDialog类。以下是一个示例代码:
Button btnOpenDialog = findViewById(R.id.btn_open_dialog);
btnOpenDialog.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDateTimePickerDialog();
}
});
private void showDateTimePickerDialog() {
// 获取当前日期和时间
Calendar calendar = Calendar.getInstance();
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 minute = calendar.get(Calendar.MINUTE);
// 创建日期选择对话框
DatePickerDialog datePickerDialog = new DatePickerDialog(MainActivity.this,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
// 处理日期选择事件
// 在此处可以更新文本视图显示选择的日期
}
}, year, month, day);
// 创建时间选择对话框
TimePickerDialog timePickerDialog = new TimePickerDialog(MainActivity.this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// 处理时间选择事件
// 在此处可以更新文本视图显示选择的时间
}
}, hour, minute, true);
// 将日期选择对话框和时间选择对话框组合在一起
AlertDialog dialog = new AlertDialog.Builder(MainActivity.this)
.setView(datePickerDialog.getDatePicker())
.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 确定按钮点击事件
// 在此处可以执行确定按钮的操作
timePickerDialog.show(); // 显示时间选择对话框
}
})
.setNegativeButton("取消", null)
.create();
// 显示对话框
dialog.show();
}
这样,当用户点击按钮时,将显示一个旋转式样的日期和时间选择对话框。用户首先选择日期,然后在点击“确定”按钮后,将显示时间选择对话框。用户最终选择完整的日期和时间后,可以在相应的回调方法中处理选择的值。