Android时间选择器的使用

时间选择器在Android开发中很常见,比如设置闹钟、在批量查询中时间段的选择都会用到设计选择器,最近在项目中就遇到一个多项条件查询功能,在时间段的选择上需要时间选择器,项目时间的问题不可能自己撸了,所以就在网上找了一些,GitHib关于时间选择器的框架有很多,最后选择了一个叫PickerView(https://github.com/Bigkoo/Android-PickerView)
的多项选择框架,此框架在GitHub上得到了10.9k的Star,可见此框架的强大功能,时间选择器只是PickerView的其中一个功能,该框架的优势是给开发者高度的自由性,弹框的位置、选项的数量、按钮的文字,甚至字体的颜色也可以定制,简直不要太方便。

使用方法:先添加框架依赖

//PickerView框架 当前版本4.1.9
implementation 'com.contrarywind:Android-PickerView:4.1.9'

创建时间选择器方法,可根据需要创建一个开始时间和结束时间方法,方法创建方式是一样的

 //获取当前时间
 Calendar selectedDate = Calendar.getInstance();
 Calendar startDate = Calendar.getInstance();
 Calendar endDate = Calendar.getInstance();

 startDate.set(2013,0,1);//根据需要设计开始时间

 startTimePicker = new TimePickerBuilder(mContext, (date, v) -> {//选中事件回调
            startTimeLong = date.getTime();
            startTime = DateFormatUtils.getFormatDate(date);
            mEtStartTime.setText(startTime);
        })
                .setType(new boolean[]{true, true, true, true, true, true})// 默认全部显示
                .setCancelText("取消")//取消按钮文字
                .setSubmitText("确定")//确认按钮文字
                //.setContentSize(18)//滚轮文字大小
                .setTitleSize(20)//标题文字大小
                .setTitleText("时间选择")//标题文字
                .setOutSideCancelable(false)//点击屏幕,点在控件外部范围时,是否取消显示
                .isCyclic(true)//是否循环滚动
                .setTitleColor(Color.BLACK)//标题文字颜色
                .setSubmitColor(Color.BLACK)//确定按钮文字颜色
                .setCancelColor(Color.BLACK)//取消按钮文字颜色
                .setTitleBgColor(Color.rgb(255,255,255))//标题背景颜色 Night mode
                .setBgColor(Color.rgb(255,255,255))//滚轮背景颜色 Night mode
                .setDate(selectedDate)// 如果不设置的话,默认是系统时间*/
                .setRangDate(startDate,endDate)//起始终止年月日设定
                .setLabel("年","月","日","时","分","秒")//默认设置为年月日时分秒
                .isCenterLabel(false) //是否只显示中间选中项的label文字,false则每项item全部都带有label。
                .isDialog(false)//是否显示为对话框样式
                .build();

使用:弹出选择框

startTimePicker.show();

使用注意事项:
选择时间的时候一般来说要先设置起始时间再设置结束时间,并且结束时间不得小于起始时间,这些都需要我们自己设置约束,其实很简单,比如在点击结束时间的时候获取起始时间的时间戳值,如果有再判断是否小于所选择的结束时间就ok了。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值