时间选择控件 TimePickerView

如图所示:
这是一个时间选择器 年月日 也可以加入时分秒
在这里插入图片描述具体实现代码如下:
首先build 里引入implementation ‘com.contrarywind:Android-PickerView:3.2.7’
关键代码:
.setType(new boolean[]{true, true, true, false, false, false})
六个参数分别表示 年 月 日 时 分 秒 true代表显示哪些字段 这里只显示年月日
如果想显示 时分秒 把后面三个参数改成true 即可
选择时间 点击确认后触发onTimeSelect(Date date, View v)
dateDialogClickListener.onDateDialogClick(str,type); 这个是自定义接口 返回给调用者去处理。

public class DateDialog {

    public static DateDialog mDateDialog ;
    public static Activity context ;
    public DateDialog() {

    }

    public static DateDialog getDateDialog(Activity ctx){
        context = ctx ;
        if(mDateDialog == null){
            mDateDialog = new DateDialog();
        }
        return mDateDialog ;
    }


    /**
     * 显示时间选择控件
     */
    public  void showDateDialog(final int type) {
        ViewGroup decorView = (ViewGroup) (context.getWindow().getDecorView());

        TimePickerView timePickerView = new TimePickerView.Builder(context, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {//选中事件回调
                String str = CommonUtil.getDate(date); // 去操作ui 请求
                dateDialogClickListener.onDateDialogClick(str,type);
            }
        })//(ViewGroup) ((Activity) context).getWindow().getDecorView().findViewById(android.R.id.content)


                .setCancelText("取消")
                .setSubmitText("确认")
                .setTitleText("日期")
                .setType(new boolean[]{true, true, true, false, false, false})
                .setLabel("年", "月", "日", "时", "分", "秒")
                .setCancelColor(ContextCompat.getColor(context, R.color.color999999))
                .setTextColorCenter(ContextCompat.getColor(context, R.color.color333333))
                .setTitleBgColor(ContextCompat.getColor(context, R.color.colorFFFFFF))
                .isCenterLabel(false)
                .build();

        timePickerView.setDate(Calendar.getInstance());
        timePickerView.show();

    }

    public DateDialogClickListener dateDialogClickListener ;
    public void setCheckBottonClickListener(DateDialogClickListener dateDialogClickListener){
        this.dateDialogClickListener = dateDialogClickListener;
    }
    public interface DateDialogClickListener{
        void onDateDialogClick(String time, int type);
    }

}
发布了6 篇原创文章 · 获赞 0 · 访问量 187
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 深蓝海洋 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览