android时分秒选择控件库,安卓Android-PickerView时间选择控件的使用

闻人越
2023-12-01

1.首先去maven库拉取所需的library

implementation 'com.contrarywind:Android-PickerView:4.1.9' //当前使用版本号4.1.9

2.时间选择器用法

SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm");

Calendar selectedDate = Calendar.getInstance();//系统当前时间

Calendar startDate = Calendar.getInstance();//控件起始时间

//注:(1)年份可以随便设置 (2)月份是从0开始的(0代表1月 11月代表12月),即设置0代表起始时间从1月开始

//(3)日期必须从1开始,因为2月没有30天,设置其他日期时,2月份会从设置日期开始显示导致出现问题

startDate.set(1900, 1, 1);//该控件从1900年1月1日开始

Calendar endDate = Calendar.getInstance();//控件截止时间

endDate.set(2050, 2, 28);//该控件到2050年2月28日结束

try {

String start1 = "2020-02-28 18:36";//格式必须与formatter的格式一致

Date date = formatter.parse(start1);

selectedDate.setTime(date);//指定控件初始值显示哪一天

}catch (Exception e){

}

//时间选择器

TimePickerView pvTime = new TimePickerBuilder(MainActivity.this, new OnTimeSelectListener() {

public void onTimeSelect(final Date date, View v) {

String choiceTime = formatter.format(date);//日期 String

Toast.makeText(MainActivity.this,choiceTime,Toast.LENGTH_LONG).show();

long startl = date.getTime();//日期 long

}

}).setDate(selectedDate)//设置系统时间为当前时间

.setRangDate(startDate, endDate)//设置控件日期范围 也可以不设置默认1900年到2100年

.setType(new boolean[]{true, true, true, true, true, false})//设置年月日时分秒是否显示 true:显示 false:隐藏

.setLabel("年", "月", "日", "时", "分", "秒")

.isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。

.setDividerColor(0xFF24AD9D)//设置分割线颜色

.isCyclic(false)//是否循环显示日期 例如滑动到31日自动转到1日 有个问题:不能实现日期和月份联动

.build();

pvTime.show();

3.条件选择器用法

//条件选择器

OptionsPickerView pvOptions = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() {

@Override

public void onOptionsSelect(int options1, int option2, int options3 ,View v) {

//返回的分别是三个级别的选中位置

String tx = options1Items.get(options1).getPickerViewText()

+ options2Items.get(options1).get(option2)

+ options3Items.get(options1).get(option2).get(options3).getPickerViewText();

tvOptions.setText(tx);

}

}).build();

pvOptions.setPicker(options1Items, options2Items, options3Items);

pvOptions.show();

 类似资料: