AndroidPicker

安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等……WheelPicker/DateTimePicker/DatePicker/TimePicker/SinglePicker/NumberPicker/DoublePicker/LinkagePicker/AddressPicker/CalendarPicker/ColorPicker/FilePicker etc.

Github星跟蹤圖

# Summary
API 14+
Download
JitPack
Build Status
996.icu
LICENSE

安卓选择器类库,包括日期及时间选择器(可设置范围)、单项选择器(可用于性别、职业、学历、星座等)、城市地址选择器(分省级、地级及县级)、数字选择器(可用于年龄、身高、体重、温度等)、双项选择器、颜色选择器、文件及目录选择器等……
欢迎大伙儿在Issues提交你的意见或建议。
欢迎Fork & Pull requests贡献您的代码,大家共同学习【AndroidPicker交流群 604235437】。
查看更新日志,新版本可能未对旧版API作兼容处理,升级后若编译报错请根据错误提示更改。

正在重构2.x版本,感兴趣的小伙伴可以点击此处查看

Install

“app”是测试用例;“library”包括WheelPicker、ColorPicker、FilePicker、MultiplePicker,
WheelPicker包括DatePicker、TimePicker、OptionPicker、LinkagePicker、AddressPicker、NumberPicker、DoublePicker等。
其中WheelPicker、FilePicker及ColorPicker是独立的,需要用哪个就只依赖哪个,latest.release表示使用最新版,也可以参照此处指定具体的版本号
具体步骤如下:
第一步,在项目根目录下的build.gradle里加:

repositories {
    maven {
        url "https://jitpack.io"
    }
}

第二步,在项目的app模块下的build.gradle里加:
滚轮选择器:

dependencies {
    compile('com.github.gzu-liyujiang.AndroidPicker:WheelPicker:版本号') {
        exclude group: 'com.android.support'
    }
}

文件目录选择器:

dependencies {
    compile('com.github.gzu-liyujiang.AndroidPicker:FilePicker:版本号') {
        exclude group: 'com.android.support'
    }
}

颜色选择器:

dependencies {
    compile('com.github.gzu-liyujiang.AndroidPicker:ColorPicker:版本号') {
        exclude group: 'com.android.support'
    }
}

使用Eclipse的话,直接下载AndroidPicker的jar包复制到你的项目的libs下即可。

ProGuard

由于地址选择器使用了fastjson来解析,混淆时候需要加入以下类似的规则,不混淆Province、City等实体类。

-keepattributes InnerClasses,Signature
-keepattributes *Annotation*

-keep class cn.qqtheme.framework.entity.** { *;}

Sample (更多用法详见示例项目)

各种设置方法:

picker.setXXX(...);

如:
设置选项偏移量,可用来要设置显示的条目数,范围为1-5,1显示3行、2显示5行、3显示7行……

picker.setOffset(...);

设置启用循环

picker.setCycleDisable(false);

设置每项的高度,范围为2-4

picker.setLineSpaceMultiplier(...);
picker.setItemHeight(...);

设置文字颜色、字号、字体等

picker.setTextColor(...);
picker.setTextSize(...);
picker.setTextPadding(...);
picker.setTextSizeAutoFit(...);
picker.setTypeface(...);

设置单位标签

picker.setLabel(...);
picker.setOnlyShowCenterLabel(...))

设置默认选中项

picker.setSelectedItem(...);
picker.setSelectedIndex(...);

设置滚轮项填充宽度,分割线最长

picker.setUseWeight(true);
picker.setDividerRatio(WheelView.DividerConfig.FILL);

设置触摸弹窗外面是否自动关闭

picker.setCanceledOnTouchOutside(...);

设置分隔线配置项,设置null将隐藏分割线及阴影

picker.setDividerConfig(...);
picker.setDividerColor(...);
picker.setDividerRatio(...);
picker.setDividerVisible(...);

设置内容边距

picker.setContentPadding(...);

设置选中项背景色

picker.setShadowColor(...)

自定义顶部及底部视图

picker.setHeaderView(...);
picker.setFooterView(...);

获得内容视图(不要调用picker.show()方法),可以将其加入到其他容器视图(如自定义的Dialog的视图)中

picker.getContentView();

获得按钮视图(需要先调用picker.show()方法),可以调用该视图相关方法,如setVisibility()

picker.getCancelButton();
picker.getSubmitButton();

自定义选择器示例:

        CustomHeaderAndFooterPicker picker = new CustomHeaderAndFooterPicker(this);
        picker.setOnOptionPickListener(new OptionPicker.OnOptionPickListener() {
            @Override
            public void onOptionPicked(int position, String option) {
                showToast(option);
            }
        });
        picker.show();

核心滚轮控件为WheelView,可以参照SinglePicker、DateTimePicker及LinkagePicker自行扩展。

Screenshots

以下图片显示的效果可能已修改过,实际效果请运行demo查看。
滑轮选择器内嵌效果图
自定义选择器效果图
日期选择器效果图
日期选择器效果图
时间选择器效果图
单项选择器效果图
地址选择器效果图
数字选择器效果图
星座选择器效果图
颜色选择器效果图
文件选择器效果图
目录选择器效果图

Thanks

基于View的WheelView
基于ListView的WheelView
基于ScrollView的WheelView

Contact


主要指標

概覽
名稱與所有者gzu-liyujiang/AndroidPicker
主編程語言Java
編程語言Java (語言數: 2)
平台
許可證Other
所有者活动
創建於2015-10-21 14:21:16
推送於2024-12-01 05:11:23
最后一次提交2024-12-01 13:11:15
發布數67
最新版本名稱4.1.14 (發布於 )
第一版名稱1.0.0 (發布於 2016-01-20 02:26:16)
用户参与
星數6.6k
關注者數142
派生數1.5k
提交數557
已啟用問題?
問題數345
打開的問題數193
拉請求數21
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?