Closed VanConsday closed 2 years ago
FrameLayout mFrameLayout = findViewById(R.id.frameContainer); private void initPicker() {
Calendar selectedDate = Calendar.getInstance(); Calendar startDate = Calendar.getInstance(); startDate.set(2020, 0, 1, 0, 0); int year = Calendar.getInstance().get(Calendar.YEAR); int month = Calendar.getInstance().get(Calendar.MONTH); int day = Calendar.getInstance().get(Calendar.DAY_OF_MONTH); int hour = Calendar.getInstance().get(Calendar.HOUR_OF_DAY); int min = Calendar.getInstance().get(Calendar.MINUTE); Calendar endDate = Calendar.getInstance(); endDate.set(year, month , day, hour, min); //时间选择器 pvTime = new TimePickerBuilder(this, new OnTimeSelectListener() { @Override public void onTimeSelect(Date date, View v) {//选中事件回调 Log.i("onTimeSelect", getTime(date)); } }) .setLayoutRes(R.layout.pickerview_custom_time, new CustomListener() { @Override public void customLayout(View v) { v.findViewById(R.id.top).setVisibility(View.GONE); final WheelView year = v.findViewById(R.id.year); final WheelView month = v.findViewById(R.id.month); final WheelView day = v.findViewById(R.id.day); final WheelView hour = v.findViewById(R.id.hour); final WheelView min = v.findViewById(R.id.min); delayedPicker(year); delayedPicker(month); delayedPicker(day); delayedPicker(hour); delayedPicker(min); } }) //TODO问题解决 .setTimeSelectChangeListener(new OnTimeSelectChangeListener() { @Override public void onTimeSelectChanged(Date date) { Log.i("onTimeSelect", getTime(date)); } }) .setType(new boolean[]{true, true, true, true, true, false}) //设置空字符串以隐藏单位提示 hide label .setLabel("", "", "", "", "", "") .setDividerColor(Color.DKGRAY) .setContentTextSize(20) .setDate(selectedDate) .setRangDate(startDate, endDate) //非dialog模式下,设置ViewGroup, pickerView将会添加到这个ViewGroup中 .setDecorView(mFrameLayout) .setOutSideColor(0x00000000) .setOutSideCancelable(false) .build(); //系统返回键监听屏蔽掉 pvTime.setKeyBackCancelable(false); pvTime.show(); } private void delayedPicker(final WheelView view) { view.setOnItemSelectedListener(new OnItemSelectedListener() { @Override public void onItemSelected(int index) { pvTime.returnData(); } }); }
FrameLayout mFrameLayout = findViewById(R.id.frameContainer); private void initPicker() {