【抱歉,暂停维护,替代品:https://github.com/Bigkoo/Android-PickerView】 安卓选择器类库,包括日期选择器、时间选择器、单项选择器、双项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等……WheelPicker/DateTimePicker/DatePicker/TimePicker/SinglePicker/NumberPicker/DoublePicker/LinkagePicker/AddressPicker/CalendarPicker/ColorPicker/FilePicker etc.
安卓选择器类库,包括日期及时间选择器(可设置范围)、单项选择器(可用于性别、职业、学历、星座等)、城市地址选择器(分省级、地级及县级)、数字选择器(可用于年龄、身高、体重、温度等)、双项选择器、颜色选择器、文件及目录选择器等……
欢迎大伙儿在Issues提交你的意见或建议。
欢迎Fork & Pull requests贡献您的代码,大家共同学习【AndroidPicker交流群 604235437】。
查看更新日志,新版本可能未对旧版API作兼容处理,升级后若编译报错请根据错误提示更改。
~~正在重构2.x版本~~,感兴趣的小伙伴可以点击此处查看
“app”是测试用例;“library”包括WheelPicker、ColorPicker、FilePicker、MultiplePicker,
WheelPicker包括DatePicker、TimePicker、OptionPicker、LinkagePicker、AddressPicker、NumberPicker、DoublePicker等。
其中WheelPicker、FilePicker及ColorPicker是独立的,需要用哪个就只依赖哪个,最新版本为,也可以参照此处指定具体的版本号,
具体步骤如下:
第一步,在项目根目录下的build.gradle里加:
repositories { maven { url "https://jitpack.io" } }第二步,在项目的app模块下的build.gradle里加: 滚轮选择器:
groovy dependencies { implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:版本号' }文件目录选择器:
groovy dependencies { implementation 'com.github.gzu-liyujiang.AndroidPicker:FilePicker:版本号' }颜色选择器:
groovy dependencies { implementation 'com.github.gzu-liyujiang.AndroidPicker:ColorPicker:版本号' }注:Support版本截止1.5.6,从2.0.0开始为AndroidX版本。
Support版本依赖:
groovy dependencies { implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:1.5.6.20181018' }AndroidX版本依赖:
groovy dependencies { implementation 'com.github.gzu-liyujiang.AndroidPicker:Common:2.0.0' implementation 'com.github.gzu-liyujiang.AndroidPicker:WheelPicker:2.0.0' }
由于地址选择器使用了fastjson来解析,混淆时候需要加入以下类似的规则,不混淆Province、City等实体类。 ``` -keepattributes InnerClasses,Signature -keepattributes Annotation
-keep class cn.qqtheme.framework.entity.** { *;} ```
各种设置方法:
java picker.setXXX(...);
java picker.setOffset(...);
java picker.setCycleDisable(false);
java picker.setLineSpaceMultiplier(...); picker.setItemHeight(...);
java picker.setTextColor(...); picker.setTextSize(...); picker.setTextPadding(...); picker.setTextSizeAutoFit(...); picker.setTypeface(...);
java picker.setLabel(...); picker.setOnlyShowCenterLabel(...))
java picker.setSelectedItem(...); picker.setSelectedIndex(...);
java picker.setUseWeight(true); picker.setDividerRatio(WheelView.DividerConfig.FILL);
java picker.setCanceledOnTouchOutside(...);
java picker.setDividerConfig(...); picker.setDividerColor(...); picker.setDividerRatio(...); picker.setDividerVisible(...);
java picker.setContentPadding(...);
java picker.setShadowColor(...)
java picker.setHeaderView(...); picker.setFooterView(...);
java picker.getContentView();
java picker.getCancelButton(); picker.getSubmitButton();
java 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自行扩展。
以下图片显示的效果可能已修改过,实际效果请运行demo查看。
基于View的WheelView
基于ListView的WheelView
基于ScrollView的WheelView
MIT LicenseCopyright (c) 李玉江<[email protected]>
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.