Android使用三方库实现日期选择器

本文主要是介绍利用第三方库实现底部日期选择器滚轮效果,类似IOS日期效果.只记录了一种展示效果,是项目中常用到的,至于用到其他效果以及自定义扩展的可以参考原文自行学习

原文github地址: https://github.com/Bigkoo/Android-PickerView

效果图参考:
这里写图片描述

使用方法:
1.AS添加依赖: compile ‘com.contrarywind:Android-PickerView:3.2.6’

2.在Activity中添加如下代码:

TimePickerView pvTime = new TimePickerView.Builder(this, new TimePickerView.OnTimeSelectListener() {
            @Override
            public void onTimeSelect(Date date, View v) {
        
### Android 第三方图片选择器库及其依赖 在 Android 开发中,图片选择器是一个常见的功能需求。以下是几个常用的第三方图片选择器库及其依赖说明: #### 1. Matisse Matisse 是知乎开源的一款图片选择器库,支持多选、单选、预览等功能,并且可以轻松集成到项目中[^1]。 - **依赖添加**: ```gradle dependencies { implementation 'com.zhihu.android:matisse:0.5.2' } ``` - **特点**: - 支持多种图片类型的选择。 - 提供自定义主题和过滤器。 - 可以与 Glide 或 Picasso 等图片加载库结合使用。 #### 2. ImagePicker ImagePicker 是一款轻量级的图片选择器库,支持拍照、裁剪、压缩等功能[^2]。 - **依赖添加**: ```gradle dependencies { implementation 'com.github.esafirm:imagepicker:2.0.1' } ``` - **特点**: - 支持图片和视频的选择。 - 提供简单的 API 接口。 - 内置裁剪和压缩功能[^2]。 #### 3. PhotoPicker PhotoPicker 是另一款流行的图片选择器库,支持多选、预览、裁剪等功能[^3]。 - **依赖添加**: ```gradle dependencies { implementation 'com.github.natario1:PhotoPicker:1.8.4' } ``` - **特点**: - 支持图片和视频的选择。 - 提供自定义主题和样式。 - 内置裁剪功能[^3]。 #### 4. uCrop uCrop 是一个专注于图片裁剪的库,虽然它本身不是完整的图片选择器,但可以与其他选择器库结合使用[^4]。 - **依赖添加**: ```gradle dependencies { implementation 'com.github.yalantis:ucrop:2.2.6' } ``` - **特点**: - 提供高质量的图片裁剪功能。 - 支持自定义裁剪比例和手势操作[^4]。 #### 5. PickImage PickImage 是一个简单易用的图片选择器库,支持从相册或相机获取图片[^5]。 - **依赖添加**: ```gradle dependencies { implementation 'com.github.DroidNinja:FilePicker:2.2.1' } ``` - **特点**: - 支持图片和文件的选择。 - 提供简单的 API 接口。 - 可以限制文件大小和类型[^5]。 --- ### 示例代码:Matisse 集成 以下是一个使用 Matisse 的示例代码: ```java Matisse.from(MainActivity.this) .choose(MimeType.ofImage(), false) // 选择图片类型,false 表示不显示 GIF .countable(true) // 启用计数模式 .maxSelectable(9) // 最大选择数量 .gridExpectedSize(getResources().getDimensionPixelSize(R.dimen.grid_expected_size)) // 设置网格大小 .restrictOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT) // 限制屏幕方向 .thumbnailScale(0.85f) // 缩略图比例 .imageEngine(new GlideEngine()) // 使用 Glide 加载图片 .forResult(REQUEST_CODE_CHOOSE); // 请求码 ``` --- ### 注意事项 - **权限管理**:确保在 `AndroidManifest.xml` 中声明必要的权限,例如 `READ_EXTERNAL_STORAGE` 和 `WRITE_EXTERNAL_STORAGE`。 - **适配 Android 11**:从 Android 11 开始,应用需要适配分区存储(Scoped Storage),建议使用 `MediaStore` API 来处理文件路径。 - **图片加载引擎**:大多数图片选择器库支持与 Glide 或 Picasso 集成,确保选择合适的图片加载引擎。 --- ###
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值