【Android开发--新手必看篇】依赖框架PickerView的使用

Android笔记

​ ——PickerView
若对该知识点有更多想了解的,欢迎私信博主~~

依赖框架:PickerView
一:优势及作用
  1. 支持三级联动
  2. 设置是否联动
  3. 设置循环模式
  4. 支持自定义布局。
  5. 支持item的分隔线设置。
  6. 支持item间距设置。
  7. 时间选择器支持起始和终止日期设定。
  8. 支持“年,月,日,时,分,秒”,“省,市,区”等选项的单位(label)显示、隐藏和自定义
  9. 支持自定义文字、颜色、文字大小等属性
  10. Item的文字长度过长时,文字会自适应缩放到Item的长度,避免显示不完全的问题
  11. 支持Dialog 模式
  12. 支持自定义设置容器
  13. 实时回调
二:GreenDao的配置
  1. 分build.gradle中添加(注入依赖)

    dependencies {
    	implementation 'com.contrarywind:Android-PickerView:4.1.7'
    }
    
三:使用
  1. 时间选择器 TimePickerView

    Calendar selectedDate = Calendar.getInstance();
    Calendar startDate = Calendar.getInstance();
    Calendar endDate = Calendar.getInstance();
    
    startDate.set(2013,0,1);
    endDate.set(2020,11,31);
    
    TimePickerView tpv=new TimePickerBuilder(MainActivity.this, new OnTimeSelectListener() {
        @Override
        public void onTimeSelect(Date date, View v) {
            Toast.makeText(MainActivity.this, "time:"+format.format(date), Toast.LENGTH_SHORT).show();
        }
    })
      .setType(new boolean[]{true, true, true, true, true, true})// 默认全部显示
      .setCancelText("取消")//取消按钮文字
      .setSubmitText("确认")//确认按钮文字
      .setContentTextSize(18)//滚轮文字大小
      .setTitleSize(20)//标题文字大小
      .setTitleText("时间选择")//标题文字
      .setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
      .isCyclic(false)//是否循环滚动
      .setTitleColor(Color.GREEN)//标题文字颜色
      .setSubmitColor(Color.BLUE)//确定按钮文字颜色
      .setCancelColor(Color.BLUE)//取消按钮文字颜色
      .setTitleBgColor(Color.YELLOW)//标题背景颜色 Night mode
      .setBgColor(Color.RED)//滚轮背景颜色 Night mode
      .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/
      .setRangDate(startDate,endDate)//起始终止年月日设定
      .setLabel("年","月","日","时","分","秒")//默认设置为年月日时分秒
      .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
      .isDialog(false)//是否显示为对话框样式
      .build();
    
    tpv.show();
    
  2. 条件选择器 OptionsPickerView

    //创造数据
    final List<String> options1Items=new ArrayList<>();
    final List<List<String>> options2Items=new ArrayList<>();
    final List<List<List<String>>> options3Items=new ArrayList<>();
    for (int i = 0; i < 5; i++) {
        options1Items.add("一级菜单"+i);
        List<String> list1=new ArrayList<>();
        List<List<String>> list2=new ArrayList<>();
        for (int j = 0; j < 5; j++) {
            list1.add(i+"-"+j);
            List<String> list3=new ArrayList<>();
            for (int k = 0; k < 5; k++) {
                list3.add(i+"-"+j+"-"+k);
            }
            list2.add(list3);
        }
        options2Items.add(list1);
        options3Items.add(list2);
    }
    
    OptionsPickerView opv = new OptionsPickerBuilder(MainActivity.this, new OnOptionsSelectListener() {
        @Override
        public void onOptionsSelect(int options1, int options2, int options3, View v) {
            //返回的分别是三个级别的选中位置
            String tx = options1Items.get(options1)
                    + options2Items.get(options1).get(options2)
                    + options3Items.get(options1).get(options2).get(options3);
            Toast.makeText(MainActivity.this, tx, Toast.LENGTH_SHORT).show();
        }
    })
      .setSubmitText("确定")//确定按钮文字
      .setCancelText("取消")//取消按钮文字
      .setTitleText("城市选择")//标题
      .setSubCalSize(18)//确定和取消文字大小
      .setTitleSize(20)//标题文字大小
      .setTitleColor(Color.BLACK)//标题文字颜色
      .setSubmitColor(Color.BLUE)//确定按钮文字颜色
      .setCancelColor(Color.BLUE)//取消按钮文字颜色
      .setTitleBgColor(0xFF333333)//标题背景颜色 Night mode
      .setBgColor(0xFF000000)//滚轮背景颜色 Night mode
      .setContentTextSize(18)//滚轮文字大小
      .setLabels("省", "市", "区")//设置选择的三级单位
      .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
      .setCyclic(false, false, false)//循环与否
      .setSelectOptions(1, 1, 1)  //设置默认选中项
      .setOutSideCancelable(false)//点击外部dismiss default true
      .isDialog(true)//是否显示为对话框样式
      .isRestoreItem(true)//切换时是否还原,设置默认选中第一项。
      .build();
    
    opv.setPicker(options1Items,options2Items,options3Items);
    opv.show();
    
官方文档
  1. https://github.com/Bigkoo/Android-PickerView
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值