Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

安卓选择器类库,包括日期时间选择器、单项选择器、二三级联动选择器、颜色选择器、文件目录选择器、数字选择器。Picker for android, include date&time/option/color/file&directory/number.

License

Notifications You must be signed in to change notification settings

panggirl/AndroidPicker

Repository files navigation

About

安卓选择器类库,包括日期时间选择器、一二三级联动选择器、城市选择器、颜色选择器、文件目录选择器、数字选择器。 Picker for android, include date&time/option/color/file&directory/number.

Install

1、通过SVN或GIT工具下载本项目,复制"framework-picker"到你的电脑上;
2、用Android Studio或IntelliJ IDEA打开你的项目,New->Import Module,选择"framework-picker";
3、修改你的项目的build.gradle,加入依赖项"framework-picker",如:

dependencies {
 compile 'com.android.support:support-v4:+'
 compile project(':framework-picker')
}

注: 滑轮选择器的名称较长时,将以"..."显示超出的部分。
支持android2.2+,项目编码为UTF-8。

Simple

日期选择器:

 DateTimePicker picker = new DateTimePicker(this);
 picker.setMode(DateTimePicker.Mode.YEAR_MONTH_DAY);
 picker.setRange(1990, 2015);
 picker.setSelectedDate(1990, 11, 4);
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<Date>() {
 @Override
 public void onSubmit(Date result) {
 
 }
 });
 picker.showAtBottom();

时间选择器:

 DateTimePicker picker = new DateTimePicker(this);
 picker.setMode(DateTimePicker.Mode.HOUR_MINUTE);
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<Date>() {
 @Override
 public void onSubmit(Date result) {
 
 }
 });
 picker.showAtBottom();

单项选择器(可用于性别、学历、职业等选择):

 OptionPicker picker = new OptionPicker(this);
 picker.setScrollingDuration(100);
 final String[] sex = {"男", "女", "保密"};
 picker.setOptions(sex);
 picker.setCurrentOptions(2);
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<int[]>() {
 @Override
 public void onSubmit(int[] result) {
 String result = sex[result[0]];
 }
 });
 picker.showAtBottom();

二级联动选择器:

 final ArrayList<String> option1 = new ArrayList<String>();
 option1.add("技术方案");
 option1.add("开发工具");
 option1.add("运行环境");
 option1.add("这里测试很长很长的内容,看看二级联动选择器如何显示");
 final ArrayList<ArrayList<String>> option2 = new ArrayList<ArrayList<String>>();
 ArrayList<String> language = new ArrayList<String>();
 language.add("Java/XML");
 language.add("PHP/MySQL");
 language.add("H5+/MUI");
 option2.add(language);
 ArrayList<String> tool = new ArrayList<String>();
 tool.add("Android Studio");
 tool.add("PhpStorm");
 tool.add("HBuilder");
 option2.add(tool);
 ArrayList<String> environment = new ArrayList<String>();
 environment.add("Android");
 environment.add("WAMP/LAMP");
 environment.add("Android/IOS");
 option2.add(environment);
 ArrayList<String> length = new ArrayList<String>();
 length.add("这里测试很长很长的内容,看看二级联动选择器如何显示");
 option2.add(length);
 OptionPicker picker = new OptionPicker(this);
 picker.setOptions(option1, option2);
 picker.setCurrentOptions(1);
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<int[]>() {
 @Override
 public void onSubmit(int[] result) {
 String result = option1.get(result[0]) + "-" + option2.get(result[0]).get(result[1]);
 }
 });
 picker.showAtBottom();

三级联动选择器(参见城市选择器@CityPicker):

 final ArrayList<String> option1 = new ArrayList<String>();
 option1.add("贵州省");
 option1.add("北京市");
 final ArrayList<ArrayList<String>> option2 = new ArrayList<ArrayList<String>>();
 ArrayList<String> options2_1 = new ArrayList<String>();
 options2_1.add("贵阳市");
 options2_1.add("毕节地区");
 ArrayList<String> options2_2 = new ArrayList<String>();
 options2_2.add("北京市");
 option2.add(options2_1);
 option2.add(options2_2);
 final ArrayList<ArrayList<ArrayList<String>>> option3 = new ArrayList<ArrayList<ArrayList<String>>>();
 ArrayList<ArrayList<String>> option3_1 = new ArrayList<ArrayList<String>>();
 ArrayList<String> option3_1_1 = new ArrayList<String>();
 option3_1_1.add("花溪区");
 option3_1_1.add("南明区");
 option3_1_1.add("清镇市");
 option3_1_1.add("息烽县");
 option3_1.add(option3_1_1);
 ArrayList<String> option3_1_2 = new ArrayList<String>();
 option3_1_2.add("这里测试很长很长的内容,看看三级联动选择器如何显示");
 option3_1_2.add("七星关区");
 option3_1_2.add("纳雍县");
 option3_1.add(option3_1_2);
 ArrayList<ArrayList<String>> option3_2 = new ArrayList<ArrayList<String>>();
 ArrayList<String> option3_2_1 = new ArrayList<String>();
 option3_2_1.add("北京市");
 option3_2.add(option3_2_1);
 option3.add(option3_1);
 option3.add(option3_2);
 OptionPicker picker = new OptionPicker(this);
 picker.setOptions(option1, option2, option3);
 picker.setCurrentOptions(0, 1, 2);
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<int[]>() {
 @Override
 public void onSubmit(int[] result) {
 String province = option1.get(result[0]);
 String city = option2.get(result[0]).get(result[1]);
 String district = option3.get(result[0]).get(result[1]).get(result[2]);
 String result = province + "-" + city + "-" + district;
 }
 });
 picker.showAtBottom();

颜色选择器:

 ColorPicker picker = new ColorPicker(this);
 picker.setInitColor(0xDD00DD);
 picker.setOnColorPickListener(new ColorPicker.OnColorPickListener() {
 @Override
 public void onColorPicked(int pickedColor) {
 
 }
 });
 picker.showAtBottom();

文件选择器:

 FilePicker picker = new FilePicker(this);
 picker.setMode(FilePicker.Mode.File);
 picker.setShowHideDir(false);
 picker.setInitPath(Common.getRootPath(this) + "Download/");
 //picker.setAllowExtensions(new String[]{".apk"});
 picker.setOnFilePickListener(new FilePicker.OnFilePickListener() {
 @Override
 public void onFilePicked(String currentPath) {
 
 }
 });
 picker.showAtBottom();

目录选择器:

 FilePicker picker = new FilePicker(this);
 picker.setMode(FilePicker.Mode.Directory);
 picker.setOnFilePickListener(new FilePicker.OnFilePickListener() {
 @Override
 public void onFilePicked(String currentPath) {
 
 }
 });
 picker.showAtBottom();

数字选择器(可用于身高、体重、年龄等选择):

 NumberPicker picker = new NumberPicker(this);
 picker.setRange(145, 200);
 picker.setSelectedNumber(172);
 picker.setLabel("cm");
 picker.setOnWheelListener(new WheelPicker.OnWheelListener<Integer>() {
 @Override
 public void onSubmit(Integer result) {
 }
 });
 picker.showAtBottom();

城市选择器:

 CityPicker picker = new CityPicker(activity);
 picker.setSelectedCity("贵州", "毕节", "纳雍");
 picker.setOnCityPickListener(new CityPicker.OnCityPickListener() {
 @Override
 public void onCityPicked(String province, String city, String county) {
 
 }
 });
 picker.showAtBottom();

Thanks

修改了使用以下项目:
https://code.google.com/p/android-wheel
https://github.com/saiwu-bigkoo/PickerView
https://github.com/jbruchanov/AndroidColorPicker
https://github.com/JoanZapata/base-adapter-helper
直接使用了以下项目:
https://github.com/alibaba/fastjson

Screenshots

日期选择器效果图
时间选择器效果图
单项选择器效果图
二级联动选择器效果图
三级联动选择器效果图
颜色选择器效果图
文件选择器效果图
目录选择器效果图
城市选择器效果图

Contact

李玉江, QQ:1032694760, Email:liyujiang_tk@yeah.net

About

安卓选择器类库,包括日期时间选择器、单项选择器、二三级联动选择器、颜色选择器、文件目录选择器、数字选择器。Picker for android, include date&time/option/color/file&directory/number.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /