Summary
安卓选择器类库,包括日期及时间选择器(可设置范围)、单项选择器(可用于性别、职业、学历、星座等)、城市地址选择器(分省级、地级及县级)、数字选择器(可用于年龄、身高、体重、温度等)、双项选择器、颜色选择器、文件及目录选择器等……
欢迎大伙儿在Issues提交你的意见或建议。
欢迎Fork & Pull requests贡献您的代码,大家共同学习【AndroidPicker交流群 604235437】。
查看更新日志,新版本可能未对旧版API作兼容处理,升级后若编译报错请根据错误提示更改。
Install
“app”是测试用例;“library”包括WheelPicker、ColorPicker、FilePicker, WheelPicker包括DatePicker、TimePicker、OptionPicker、LinkagePicker、AddressPicker、NumberPicker、DoublePicker等。
懒人建议直接远程加载jcenter里的
WheelPicker、FilePicker及ColorPicker是独立的,需要用哪个就compile哪个。
latest.release表示使用最新版,也可以参照此处指定具体的版本号,1.3.x之前的版本基于ScrollView,1.4.x版本基于ListView,1.5.x之后的版本基于View:
dependencies {
compile('cn.qqtheme.framework:WheelPicker:版本号') {
exclude group: 'com.android.support'
}
compile('cn.qqtheme.framework:FilePicker:版本号') {
exclude group: 'com.android.support'
}
compile('cn.qqtheme.framework:ColorPicker:版本号') {
exclude group: 'com.android.support'
}
}
JitPack的仓库试试:
若jcenter仓库里的无法下载的话,可换第一步,在项目根目录下的build.gradle里加:
repositories {
maven {
url "https://www.jitpack.io"
}
}
第二步,在项目的app模块下的build.gradle里加:
dependencies {
compile('com.github.gzu-liyujiang.AndroidPicker:WheelPicker:版本号') {
exclude group: 'com.android.support'
}
compile('com.github.gzu-liyujiang.AndroidPicker:FilePicker:版本号') {
exclude group: 'com.android.support'
}
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(...);
自定义顶部及底部视图:
picker.setHeaderView(...);
picker.setFooterView(...);
自定义选择器示例:
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
Thanks
基于View的WheelView
基于ListView的WheelView
基于ScrollView的WheelView