上图:
代码:
public class DateDialog extends Dialog {
private WheelView wv_year;
private WheelView wv_month;
private WheelView wv_day;
private WheelView wv_hour;
private WheelView wv_minute;
private TextView tv_dialog_cancel;
private TextView tv_dialog_ok;
private List<String> listYear = new ArrayList<>();
private List<String> listMonth = new ArrayList<>();
private List<String> listDay = new ArrayList<>();
private List<String> listHour = new ArrayList<>();
private List<String> listMinute = new ArrayList<>();
private Context mContext;
private int currentYear; //系统当前时间
private int currentMonth;
private int currentDay;
private int currentHour;
private int currentMinute;
private int selectYear = 0;
private int selectMonth = 0;
public DateDialog(@NonNull Context context) {
super(context, R.style.DocOptionDialogStyle);
this.mContext = context;
View view = LayoutInflater.from(context).inflate(R.layout.dialog_date_layout, null);
setContentView(view);
initData();
initView(view);
}
private void initData() {
initCurrentDate();
initYear();
initMonth();
initDay();
initHour();
initMinute();
}
/**
* 初始化系统当前时间
*/
private void initCurrentDate() {
Calendar calendar = Calendar.getInstance();
calendar.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));
currentYear = calendar.get(Calendar.YEAR);
currentMonth = calendar.get(Calendar.MONTH);
currentDay = calendar.get(Calendar.DAY_OF_MONTH);
currentHour = calendar.get(Calendar.HOUR_OF_DAY);
currentMinute = calendar.get(Calendar.MINUTE);
}
/**
* 集合添加年
*/
private void initYear() {
for (int i = currentYear; i <= currentYear + 1; i++) {
listYear.add(i + "年");
}
}
/**
* 集合添加月
*/
private void initMonth() {
for (int i = 1; i <= 12; i++) {
listMonth.add(String.format("%02d", i) + "月");
}
}
/**
* 集合添加天数
*/
private void initDay() {
//判断一个月有多少天
int