高仿QQ时间选择器

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

《高仿QQ时间选择器》 citypicker.png

下面介绍一下使用方法:

  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时间选择器》 timepicker.png

《高仿QQ时间选择器》 highpicker.png

具体添加包的方法

dependencies {

compile ‘zh.MyLibrary.dialog_picker:dialog_picker:0.1.0’

}

源码地址 https://github.com/zhanghangcode/MultiDialog

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

    原文作者:一本未写完的书
    原文地址: https://www.jianshu.com/p/788cec4d8f17
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞