安卓選擇器類庫,包括日期選擇器、時(shí)間選擇器、單項(xiàng)選擇器、城市選擇器、顏色選擇器、文件選擇器、目錄選擇器、數(shù)字選擇器、星座選擇器、生肖選擇器等。 歡迎大伙兒在issues提交你的意見或建議 Install“app”是測試用例;“l(fā)ibrary”包括WheelPicker、ColorPicker、FilePicker, dependencies { compile 'cn.qqtheme.framework:AndroidPicker:latest.integration' //compile 'cn.qqtheme.framework:WheelPicker:latest.integration' //compile 'cn.qqtheme.framework:ColorPicker:latest.integration' //compile 'cn.qqtheme.framework:FilePicker:latest.integration' } 也可以手動下載本項(xiàng)目,復(fù)制“l(fā)ibrary”命名為“AndroidPicker”,然后: dependencies { compile project('AndroidPicker') } 窗口進(jìn)入退出動畫(可選,默認(rèn)動畫為淡入淡出)<resources> <style name="Animation.CustomPopup" parent="@android:style/Animation"> <item name="android:windowEnterAnimation">@anim/popup_in</item> <item name="android:windowExitAnimation">@anim/popup_out</item> </style> </resources> picker.setAnimationStyle(R.style.Animation_CustomPopup); Sample日期選擇器: DatePicker picker = new DatePicker(this); picker.setRange(1990, 2015);//年份范圍 picker.setOnDatePickListener(new DatePicker.OnYearMonthDayPickListener() { @Override public void onDatePicked(String year, String month, String day) { showToast(year + "-" + month + "-" + day); } }); picker.show(); 時(shí)間選擇器: //默認(rèn)選中當(dāng)前時(shí)間 TimePicker picker = new TimePicker(this); picker.setTopLineVisible(false); picker.setOnTimePickListener(new TimePicker.OnTimePickListener() { @Override public void onTimePicked(String hour, String minute) { showToast(hour + ":" + minute); } }); picker.show(); 單項(xiàng)選擇器(可用于性別、學(xué)歷、職業(yè)、星座等選擇): OptionPicker picker = new OptionPicker(this, new String[]{ "第一項(xiàng)", "第二項(xiàng)", "這是一個(gè)很長很長很長很長很長很長很長很長很長的很長很長的很長很長的項(xiàng)" }); picker.setOffset(2); picker.setSelectedIndex(1); picker.setTextSize(11); picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() { @Override public void onOptionPicked(String option) { showToast(option); } }); picker.show(); 數(shù)字選擇器(可用于身高、體重、年齡等選擇): NumberPicker picker = new NumberPicker(this); picker.setOffset(2);//偏移量 picker.setRange(145, 200);//數(shù)字范圍 picker.setSelectedItem(172); picker.setLabel("厘米"); picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() { @Override public void onOptionPicked(String option) { showToast(option); } }); picker.show(); 地址選擇器(含省級、地級、縣級): ArrayList<AddressPicker.Province> data = new ArrayList<AddressPicker.Province>(); String json = AssetsUtils.readText(this, "city.json"); data.addAll(JSON.parseArray(json, AddressPicker.Province.class)); AddressPicker picker = new AddressPicker(this, result); picker.setSelectedItem("貴州", "貴陽", "花溪"); picker.setOnAddressPickListener(new AddressPicker.OnAddressPickListener() { @Override public void onAddressPicked(String province, String city, String county) { showToast(province + city + county); } }); picker.show(); 地址選擇器(含地級、縣級): ArrayList<AddressPicker.Province> data = new ArrayList<AddressPicker.Province>(); String json = AssetsUtils.readText(this, "city2.json"); data.addAll(JSON.parseArray(json, AddressPicker.Province.class)); AddressPicker picker = new AddressPicker(this, data); picker.setHideProvince(true); picker.setOnAddressPickListener(new AddressPicker.OnAddressPickListener() { @Override public void onAddressPicked(String province, String city, String county) { showToast(province + city + county); } }); picker.show(); 星座選擇器: ConstellationPicker picker = new ConstellationPicker(this); picker.setTopBackgroundColor(0xFFEEEEEE); picker.setTopLineVisible(false); picker.setCancelTextColor(0xFF33B5E5); picker.setSubmitTextColor(0xFF33B5E5); picker.setTextColor(0xFFFF0000, 0xFFCCCCCC); picker.setLineColor(0xFFEE0000); picker.setSelectedItem("射手"); picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() { @Override public void onOptionPicked(String option) { showToast(option); } }); picker.show(); 生肖選擇器: ChineseZodiacPicker picker = new ChineseZodiacPicker(this); picker.setLineVisible(false); picker.setSelectedItem("羊"); picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() { @Override public void onOptionPicked(String option) { showToast(option); } }); picker.show(); 顏色選擇器: ColorPicker picker = new ColorPicker(this); picker.setInitColor(0xFFDD00DD); picker.setOnColorPickListener(new ColorPicker.OnColorPickListener() { @Override public void onColorPicked(int pickedColor) { showToast(ConvertUtils.toColorString(pickedColor)); } }); picker.show(); 文件選擇器(需要權(quán)限android.permission.READ_EXTERNAL_STORAGE): FilePicker picker = new FilePicker(this); picker.setShowHideDir(false); picker.setRootPath(StorageUtils.getRootPath(this) + "Download/"); //picker.setAllowExtensions(new String[]{".apk"}); picker.setMode(FilePicker.Mode.File); picker.setOnFilePickListener(new FilePicker.OnFilePickListener() { @Override public void onFilePicked(String currentPath) { showToast(currentPath); } }); picker.show(); 目錄選擇器(需要權(quán)限android.permission.READ_EXTERNAL_STORAGE): FilePicker picker = new FilePicker(this); picker.setMode(FilePicker.Mode.Directory); picker.setOnFilePickListener(new FilePicker.OnFilePickListener() { @Override public void onFilePicked(String currentPath) { showToast(currentPath); } }); picker.show(); Thanks庫項(xiàng)目修改了使用以下項(xiàng)目: Screenshots項(xiàng)目地址: https://github.com/gzu-liyujiang/AndroidPicker |
|