android tim中时间选择器插件的调用
编者:李国帅
qq:9611153 微信lgs9611153
时间:2019/11/18
背景原因:
Android app中,时间选择器是一种常见的弹出框,用户可以从中指定一个具体的时间。这里介绍一款不错的选择插件。来源是腾讯TIM sdk中使用的自定义对话框。
此弹出框可以设定年月日时分秒中,哪些日期的显示,然后动画显示。源码中可以调节显示方式。我把它封装为aar,可以下载使用。
所需资源:
Android开发环境
使用方法:
然后加载调用。
TextView tvDate = findViewById(R.id.tv_date);//把原始日期带过来
TimePickerView mDatePicker;
mDatePicker = new TimePickerBuilder(thisActivity, (date, v) -> {
Log.i("pvTime", "onTimeSelect");
String dateString = MyDateUtils.datetimeToStringNoSecs(date);
tvDate.setText(dateString);
tvDate.setTag(date);
tvDate.setTextColor(Color.parseColor("#666666"));
})
.setOutSideCancelable(false)//屏蔽点击外部关闭对话框
.setRangDate(null, Calendar.getInstance())
.setType(new boolean[]{true, true, true, true, true, false})
.isDialog(true)//对话框模式
.setTimeSelectChangeListener(date -> Log.i("pvTime", "onTimeSelectChanged")).build();
mDatePicker.setKeyBackCancelable(false);//屏蔽了物理返回键
String oldString = tvDate.getText().toString();
Date oldDate = MyDateUtils.stringToDateTimeNoSecs(oldString);
if (oldDate == null) oldDate = new Date();
Calendar oldCalendar = Calendar.getInstance();//把原始日志传入日期选择器
oldCalendar.setTime(oldDate);
mDatePicker.setDate(oldCalendar);//必须放在.build();后面
mDatePicker.show();