高仿QQ時間選擇器
在軟體開發中我們會需要各種選擇選擇器,比如設定個人年齡時需要使用時間選擇器。設定地址需要用到地址選擇,還有身高等等。

citypicker.png
下面介紹一下使用方法:
-
時間選擇器的使用:
//這裡設定的是選擇之後可以回顯資料,所以先建立一個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();
-
設定省市聯動的選擇器:
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