Skip to content

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

License

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%