Signed-off-by: rtc <rtc@qq.com>

pull/34/head
rtc 2 years ago
parent 6bdfc908d7
commit ac15266fce

@ -211,46 +211,43 @@ public class DateTimePicker extends FrameLayout {
}
public DateTimePicker(Context context, long date, boolean is24HourView) {
super(context);
mDate = Calendar.getInstance();
mInitialising = true;
mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY;
inflate(context, R.layout.datetime_picker, this);
mDateSpinner = (NumberPicker) findViewById(R.id.date);
mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL);
mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL);
mDateSpinner.setOnValueChangedListener(mOnDateChangedListener);
mHourSpinner = (NumberPicker) findViewById(R.id.hour);
mHourSpinner.setOnValueChangedListener(mOnHourChangedListener);
mMinuteSpinner = (NumberPicker) findViewById(R.id.minute);
mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL);
mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL);
mMinuteSpinner.setOnLongPressUpdateInterval(100);
mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener);
String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings();
mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm);
mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL);
mAmPmSpinner.setMaxValue(AMPM_SPINNER_MAX_VAL);
mAmPmSpinner.setDisplayedValues(stringsForAmPm);
mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener);
// update controls to initial state
updateDateControl();
updateHourControl();
updateAmPmControl();
set24HourView(is24HourView);
// set to current time
setCurrentDate(date);
setEnabled(isEnabled());
// set the content descriptions
mInitialising = false;
super(context); // 调用父类的构造方法
mDate = Calendar.getInstance(); // 获取当前时间的日历对象
mInitialising = true; // 表示正在初始化
mIsAm = getCurrentHourOfDay() >= HOURS_IN_HALF_DAY; // 根据当前小时判断是否为上午
inflate(context, R.layout.datetime_picker, this); // 将布局文件实例化为视图并添加到当前视图
mDateSpinner = (NumberPicker) findViewById(R.id.date); // 获取日期选择器视图
mDateSpinner.setMinValue(DATE_SPINNER_MIN_VAL); // 设置日期选择器的最小值
mDateSpinner.setMaxValue(DATE_SPINNER_MAX_VAL); // 设置日期选择器的最大值
mDateSpinner.setOnValueChangedListener(mOnDateChangedListener); // 设置日期选择器值变化的监听器
mHourSpinner = (NumberPicker) findViewById(R.id.hour); // 获取小时选择器视图
mHourSpinner.setOnValueChangedListener(mOnHourChangedListener); // 设置小时选择器值变化的监听器
mMinuteSpinner = (NumberPicker) findViewById(R.id.minute); // 获取分钟选择器视图
mMinuteSpinner.setMinValue(MINUT_SPINNER_MIN_VAL); // 设置分钟选择器的最小值
mMinuteSpinner.setMaxValue(MINUT_SPINNER_MAX_VAL); // 设置分钟选择器的最大值
mMinuteSpinner.setOnLongPressUpdateInterval(100); // 设置长按更新间隔
mMinuteSpinner.setOnValueChangedListener(mOnMinuteChangedListener); // 设置分钟选择器值变化的监听器
String[] stringsForAmPm = new DateFormatSymbols().getAmPmStrings(); // 获取上午/下午的字符串数组
mAmPmSpinner = (NumberPicker) findViewById(R.id.amPm); // 获取上午/下午选择器视图
mAmPmSpinner.setMinValue(AMPM_SPINNER_MIN_VAL); // 设置上午/下午选择器的最小值
mAmPmSpinner.setMaxValue(AMPM_SPINNER_MAX_VAL); // 设置上午/下午选择器的最大值
mAmPmSpinner.setDisplayedValues(stringsForAmPm); // 设置上午/下午选择器的显示值
mAmPmSpinner.setOnValueChangedListener(mOnAmPmChangedListener); // 设置上午/下午选择器值变化的监听器
updateDateControl(); // 更新日期选择器控件
updateHourControl(); // 更新小时选择器控件
updateAmPmControl(); // 更新上午/下午选择器控件
set24HourView(is24HourView); // 设置小时制显示
setCurrentDate(date); // 设置当前日期时间
setEnabled(isEnabled()); // 设置是否可用
mInitialising = false; // 初始化完成
}
@Override

Loading…
Cancel
Save