Step 1. Add the JitPack repository to your build file
Add it in your root settings.gradle at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url 'https://jitpack.io' }
}
}
Add it in your settings.gradle.kts at the end of repositories:
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
mavenCentral()
maven { url = uri("https://jitpack.io") }
}
}
Add to pom.xml
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>
Add it in your build.sbt at the end of resolvers:
resolvers += "jitpack" at "https://jitpack.io"
Add it in your project.clj at the end of repositories:
:repositories [["jitpack" "https://jitpack.io"]]
Step 2. Add the dependency
dependencies {
implementation 'com.github.gedoor:androidpicker:2.0.0'
}
dependencies {
implementation("com.github.gedoor:androidpicker:2.0.0")
}
<dependency>
<groupId>com.github.gedoor</groupId>
<artifactId>androidpicker</artifactId>
<version>2.0.0</version>
</dependency>
libraryDependencies += "com.github.gedoor" % "androidpicker" % "2.0.0"
:dependencies [[com.github.gedoor/androidpicker "2.0.0"]]
(https://jitpack.io/#gedoor/AndroidPicker)
安卓选择器类库,包括日期及时间选择器(可设置范围)、单项选择器(可用于性别、职业、学历、星座等)、城市地址选择器(分省级、地级及县级)、数字选择器(可用于年龄、身高、体重、温度等)、双项选择器、颜色选择器、文件及目录选择器等……
欢迎大伙儿在Issues提交你的意见或建议。
欢迎Fork & Pull requests贡献您的代码,大家共同学习【AndroidPicker交流群 604235437】。
##2.0更新到了AndroidX
“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下即可。
由于地址选择器使用了fastjson来解析,混淆时候需要加入以下类似的规则,不混淆Province、City等实体类。
-keepattributes InnerClasses,Signature
-keepattributes *Annotation*
-keep class cn.qqtheme.framework.entity.** { *;}
各种设置方法:
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();
<font color="#FF0000">核心滚轮控件为WheelView,可以参照SinglePicker、DateTimePicker及LinkagePicker自行扩展。</font>
以下图片显示的效果可能已修改过,实际效果请运行demo查看。
基于View的WheelView<br /> 基于ListView的WheelView<br /> 基于ScrollView的WheelView<br />
<a target="_blank" href="http://wpa.qq.com/msgrd?v=3&uin=1032694760&site=穿青人&menu=yes"><img border="0" src="http://wpa.qq.com/pa?p=2:1032694760:51" alt="点击这里给我发消息" title="点击这里给我发消息"/></a> <a target="_blank" href="http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=q8fC0t7BwsrFzIXfwOva2oXIxMY" style="text-decoration:none;"><img src="http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png"/></a>