高仿QQ时间选择器

炒豆儿
• 阅读 1425

在软件开发中我们会需要各种选择器,比如设置年龄时需要使用时间选择器。设置地址需要用到地址选择,还有身高等等。

高仿QQ时间选择器

下面介绍一下使用方法:

  1. 时间选择器的使用:

    //这里设置的是选择之后可以回显数据,所以先创建一个SP设置基本数值
    String string = getSharedPreferences("tag", MODE_PRIVATE).getString("date", "40#0#0");
    String[] split = string.split("#");
    String s = split[0];
    String s1 = split[1];
    String s2 = split[2];
    //分割之后得到的并不是具体的时间,而是年,月,日的位置。
    int i1 = Integer.parseInt(s);
    int i2 = Integer.parseInt(s1);
    int i3 = Integer.parseInt(s2);
    //这里直接创建 DatePickerDialog,同时把值传递给构造方法
    DatePickerDialog.Builder builder=new DatePickerDialog.Builder(this,i1,i2,i3);
    //通过builder设置时间
    DatePickerDialog dialog=builder.setOnDateSelectedListener(new DatePickerDialog.OnDateSelectedListener() {

    @Override
    public void onDateSelected(int[] dates) {
        Toast.makeText(getApplicationContext(), dates[0] + "#" + dates[1] + "#" + dates[2], Toast.LENGTH_SHORT).show();
    }
    
    @Override
    public void setCurrentItem(int positionYear, int positionMonth, int positionDay) {
        //设置完成时间之后,保存数据。用于下次回显数据。
        getSharedPreferences("tag",MODE_PRIVATE).edit().putString("date",positionYear+"#"
      +positionMonth+"#"+positionDay).commit();
    }

    }).create();
    //最后显示Dialog
    dialog.show();

  2. 设置省市联动的选择器:

    RegionPickerDialog.Builder builder = new RegionPickerDialog.Builder(this);
    RegionPickerDialog dialog = builder.setOnRegionSelectedListener(new RegionPickerDialog.OnRegionSelectedListener() {

     @Override
     public void onRegionSelected(String[] cityAndArea) {
         Toast.makeText(getApplicationContext(), cityAndArea[0] + "#" + cityAndArea[1], Toast.LENGTH_SHORT).show();
     }

    }).create();

    dialog.show();

高仿QQ时间选择器
高仿QQ时间选择器

具体添加包的方法

dependencies {

compile 'zh.MyLibrary.dialog_picker:dialog_picker:0.1.0'

}

源码地址 https://github.com/zhanghangc...

如果感觉好用的话请给个star,谢谢。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
taro 组件的外部样式和全局样式
自定义组件对应的样式文件,只对该组件内的节点生效。编写组件样式时,需要注意以下几点:1.组件和引用组件的页面不能使用id选择器(a)、属性选择器(\a\)和标签名选择器,请改用class选择器。2.组件和引用组件的页面中使用后代选择器(.a.b)在一些极端情况下会有非预期的表现,如遇,请避免使用。3.子
菜园前端 菜园前端
2年前
常用CSS的选择器有哪些?
原文链接:选择器定义css选择器代表如何选中某个元素现实生活举例我们可以想象一个元素,其实就是一个人,那我该如何找到这个人呢?例如可以通过id选择器的方式,就像是通过身份证号码找到TA。也可以通过标签选择器找到TA,就像是通过喊TA的名字的方式。类选择器c
菜园前端 菜园前端
2年前
考考你CSS的选择器权重
原文链接:选择器权重选择器权重划分代表有多个选择器同时选中同一个元素时,应该以谁的为准,这里就会涉及到权重的问题。现实生活举例假设你的好朋友小明和路人小红同时掉水里,你先救谁?那你可能会先救小明,因为小明的优先级/权重比较高。基础案例在同一层级下同一层级代
Stella981 Stella981
3年前
Less 嵌套
本节我们学习Less中的嵌套,嵌套应该很容易理解,HTML语言中就支持标签的嵌套。我们在使用CSS时,如果想要为多层嵌套的元素设置样式,要么给元素加上一个类选择器或ID选择器,要么使用后代选择器。例如:.xkd{fontsize:14px;}.xkdp{lineheight:25
Stella981 Stella981
3年前
Sass @media指令
本节我们学习Sass中的@media指令,@media指令用于设置样式规则到不同的媒体类型,这和CSS的使用规则差不多,但是它还有一点不同,就是@media指令可以嵌套在Sass选择器中。有点类似于JS冒泡功能,它会冒泡到样式表的顶层。@media指令的使用示例:.xkd{
Wesley13 Wesley13
3年前
CSS基本语法及页面引用
css基本语法及页面引用(1)css基本语法css的定义方法是:选择器{属性:值;属性:值;属性:值;}选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值。代码示例:/css注释ctrlshift"/"/d
Stella981 Stella981
3年前
Sass
嵌套规则(NestedRules)Sass允许将一套CSS样式嵌套进另一套样式中,内层的样式将它外层的选择器作为父选择器mainp{color:00ff00;width:97%;.redbox{
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
020_CSS3
目录如何学习CSS什么是CSS发展史快速入门css的优势三种CSS导入方式拓展:外部样式两种写法选择器基本选择器层次选择器结构伪类选择器属性选择器美化网页元素为什么要
Stella981 Stella981
3年前
Seleinum_CSS定位方式
转载:https://www.cnblogs.com/longronglang/p/9144661.htmlCSS选择器:常见符号:表示id选择器.表示class选择器\表示子元素,层级一个空格也表示子元素,但是是所有的后代子元素,相当于xpath中的相对路径一、css:属性定
Stella981 Stella981
3年前
CSS前端经典面试题及解析——小白入门必备
1.CSS选择器的优先级是如何计算的?浏览器通过优先级规则,判断元素展示哪些样式。优先级通过4个维度指标确定,我们假定以a、b、c、d命名,分别代表以下含义:1.a表示是否使用内联样式(inlinestyle)。如果使用,a为1,否则为0。2.b表示ID选择器的数量。3.c表示类选择器、属性