1. 程式人生 > >高仿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();
    

timepicker.png
highpicker.png

####具體新增包的方法
####dependencies {

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