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')

}

注:

滑轮选择器名称较长时排版混乱问题还未得到很好解决。

API级别>=8,项目编码为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() {

@Override

public void onSubmit(Date result) {

}

});

picker.showAtBottom();

时间选择器:

DateTimePicker picker = new DateTimePicker(this);

picker.setMode(DateTimePicker.Mode.HOUR_MINUTE);

picker.setOnWheelListener(new WheelPicker.OnWheelListener() {

@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() {

@Override

public void onSubmit(int[] result) {

String result = sex[result[0]];

}

});

picker.showAtBottom();

二级联动选择器:

final ArrayList option1 = new ArrayList();

option1.add("技术方案");

option1.add("开发工具");

option1.add("运行环境");

option1.add("这里测试很长很长的内容,看看二级联动选择器如何显示");

final ArrayList> option2 = new ArrayList>();

ArrayList language = new ArrayList();

language.add("Java/XML");

language.add("PHP/MySQL");

language.add("H5+/MUI");

option2.add(language);

ArrayList tool = new ArrayList();

tool.add("Android Studio");

tool.add("PhpStorm");

tool.add("HBuilder");

option2.add(tool);

ArrayList environment = new ArrayList();

environment.add("Android");

environment.add("WAMP/LAMP");

environment.add("Android/IOS");

option2.add(environment);

ArrayList length = new ArrayList();

length.add("这里测试很长很长的内容,看看二级联动选择器如何显示");

option2.add(length);

OptionPicker picker = new OptionPicker(this);

picker.setOptions(option1, option2);

picker.setCurrentOptions(1);

picker.setOnWheelListener(new WheelPicker.OnWheelListener() {

@Override

public void onSubmit(int[] result) {

String result = option1.get(result[0]) + "-" + option2.get(result[0]).get(result[1]);

}

});

picker.showAtBottom();

三级联动选择器:

final ArrayList option1 = new ArrayList();

option1.add("贵州省");

option1.add("北京市");

final ArrayList> option2 = new ArrayList>();

ArrayList options2_1 = new ArrayList();

options2_1.add("贵阳市");

options2_1.add("毕节地区");

ArrayList options2_2 = new ArrayList();

options2_2.add("北京市");

option2.add(options2_1);

option2.add(options2_2);

final ArrayList>> option3 = new ArrayList>>();

ArrayList> option3_1 = new ArrayList>();

ArrayList option3_1_1 = new ArrayList();

option3_1_1.add("花溪区");

option3_1_1.add("南明区");

option3_1_1.add("清镇市");

option3_1_1.add("息烽县");

option3_1.add(option3_1_1);

ArrayList option3_1_2 = new ArrayList();

option3_1_2.add("这里测试很长很长的内容,看看三级联动选择器如何显示");

option3_1_2.add("七星关区");

option3_1_2.add("纳雍县");

option3_1.add(option3_1_2);

ArrayList> option3_2 = new ArrayList>();

ArrayList option3_2_1 = new ArrayList();

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() {

@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.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(0, 100);

picker.setSelectedNumber(50);

picker.setLabel("%");

picker.setOnWheelListener(new WheelPicker.OnWheelListener() {

@Override

public void onSubmit(Integer result) {

}

});

picker.showAtBottom();

Thanks

Screenshots

f80cbf75438660acb67cf988a820d0f0.png

63226340ecb7c2632a7470845d174571.png

db30212f98e94f06865f9a74653052cc.png

b4ddefcea7df59a02cca4f09bf2b31ba.png

b21fd4d1c71b19b2d5750ef06925d1bd.png

9c9027bbb1b90f61e8e75ac9bc529a16.png

cf71a0a441c02327f4f06fda24a9cd7f.png

c75c57b21d87e5c42b847edce95f71c0.png

Contact

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐