美文网首页Android开发Android开发经验谈Android技术知识
安卓Android-PickerView时间选择控件的使用

安卓Android-PickerView时间选择控件的使用

作者: i小灰 | 来源:发表于2020-04-19 19:27 被阅读0次

    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();
    
    

    相关文章

      网友评论

        本文标题:安卓Android-PickerView时间选择控件的使用

        本文链接:https://www.haomeiwen.com/subject/avbbbhtx.html