Skip to content

Repository files navigation

Summary

API 14+DownloadJitPackBuild Status

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

Install

“app”是测试用例;“library”包括WheelPicker、ColorPicker、FilePicker, WheelPicker包括DatePicker、TimePicker、OptionPicker、LinkagePicker、AddressPicker、NumberPicker、CarNumberPicker等。

懒人建议直接远程加载jcenter里的

WheelPicker、FilePicker及ColorPicker是独立的,需要用哪个就compile哪个。 latest.release表示使用最新版,也可以参照此处指定具体的版本号,1.3.x之前的版本基于ScrollView,1.4.x之后的版本基于ListView:

dependencies {
compile 'cn.qqtheme.framework:WheelPicker:版本号'
compile 'cn.qqtheme.framework:FilePicker:版本号'
compile 'cn.qqtheme.framework:ColorPicker:版本号'
}

如果出现“All com.android.support libraries must use the exact same version specification”这种错误,请将依赖改为:

compile('cn.qqtheme.framework:WheelPicker:版本号') {
exclude group: 'com.android.support'
}

若jcenter仓库里的无法下载的话,可换JitPack的仓库试试:

第一步,在项目根目录下的build.gradle里加:

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

第二步,在项目的app模块下的build.gradle里加:

dependencies {
compile 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:版本号'
compile 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:版本号'
compile 'com.github.gzu-liyujiang.AndroidPicker:ColorPicker:版本号'
}

使用Eclipse的话如何集成?

直接下载AndroidPicker的jar包复制到你的项目的libs下即可。

ProGuard

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

-keepattributes InnerClasses,Signature
-keepattributes *Annotation*
-keep class cn.qqtheme.framework.entity.** { *;}

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

继承自定义扩展选择器:

CustomHeaderAndFooterPickerpicker = newCustomHeaderAndFooterPicker(this);
picker.setGravity(Gravity.CENTER);//居中picker.setOnOptionPickListener(newOptionPicker.OnOptionPickListener() {
@OverridepublicvoidonOptionPicked(intposition, Stringoption) {
showToast(option);
}
});
picker.show();

选择器内嵌到其他视图容器:

finalCarNumberPickerpicker = newCarNumberPicker(this);
picker.setOnWheelListener(newCarNumberPicker.OnWheelListener() {
@OverridepublicvoidonFirstWheeled(intindex, Stringitem) {
textView.setText(item + ":" + picker.getSelectedSecondItem());
}
@OverridepublicvoidonSecondWheeled(intindex, Stringitem) {
textView.setText(picker.getSelectedFirstItem() + ":" + item);
}
});
ViewGroupviewGroup = (ViewGroup) findViewById(R.id.wheelview_container);
viewGroup.addView(picker.getContentView());

选择器各个设置项:

booleanisChinese = Locale.getDefault().getDisplayLanguage().contains("中文");
OptionPickerpicker = newOptionPicker(this,
isChinese ? newString[]{
"水瓶", "双鱼", "白羊", "金牛", "双子", "巨蟹",
"狮子", "处女", "天秤", "天蝎", "射手", "摩羯"
} : newString[]{
"Aquarius", "Pisces", "Aries", "Taurus", "Gemini", "Cancer",
"Leo", "Virgo", "Libra", "Scorpio", "Sagittarius", "Capricorn"
});
picker.setLabel(isChinese ? "座" : "");
picker.setCycleDisable(true);//禁用循环picker.setLineConfig(config);
picker.setTopHeight(50);//顶部标题栏高度picker.setTopLineColor(0xFF33B5E5);//顶部标题栏下划线颜色picker.setTopLineHeight(1);//顶部标题栏下划线高度picker.setTitleText(isChinese ? "请选择" : "Please pick");
picker.setTitleTextColor(0xFF999999);//顶部标题颜色picker.setTitleTextSize(12);//顶部标题文字大小picker.setCancelTextColor(0xFF33B5E5);//顶部取消按钮文字颜色picker.setCancelTextSize(14);
picker.setSubmitTextColor(0xFF33B5E5);//顶部确定按钮文字颜色picker.setSubmitTextSize(14);
picker.setTextColor(0xFFEE0000, 0xFF999999);//中间滚动项文字颜色WheelView.LineConfigconfig = newWheelView.LineConfig();
config.setColor(0xFFEE0000);//线颜色config.setAlpha(140);//线透明度picker.setLineConfig(config);
picker.setBackgroundColor(0xFFE1E1E1);
//picker.setSelectedItem(isChinese ? "射手" : "Sagittarius");picker.setSelectedIndex(10);//默认选中项picker.setOnOptionPickListener(newOptionPicker.OnOptionPickListener() {
@OverridepublicvoidonOptionPicked(intindex, Stringitem) {
showToast("index=" + index + ", item=" + item);
}
});
picker.show();

Screenshots

滑轮选择器内嵌效果图自定义选择器效果图日期选择器效果图日期选择器效果图时间选择器效果图单项选择器效果图地址选择器效果图城市选择器效果图数字选择器效果图星座选择器效果图颜色选择器效果图文件选择器效果图目录选择器效果图

Contact

点击这里给我发消息

About

安卓选择器类库,包括日期选择器、时间选择器、单项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等,可自定义顶部及底部界面,可自定义窗口动画……Picker for android, include date&time/option/number/address/city/color/file&directory.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages