最近也是刚好项目用到,于是就动手写了一个Android 图片选择器的库。支持图库多选/单选/图片裁剪/拍照/自定义图片加载库,极大程度的简化使用。
截图
优点
1、通过实现ImageLoader接口,可以实现自定义图片加载器的功能。例如可以用Glide、Picasso、ImageLoader,暂不支持Fresco,因为SimpleDraweeView本身并不属于ImageView。当然,也可用相同的思路来实现。
2、可配置的ImgSelConfig。方便进行扩展。
3、简化使用
项目地址
https://github.com/smuyyh/ImageSelector
依赖
dependencies {
compile 'com.yuyh.imgsel:library:1.0.1'
}
使用
配置权限
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
使用
// 自定义图片加载器
private ImageLoader loader = new ImageLoader() {
@Override
public void displayImage(Context context, String path, ImageView imageView) {
// TODO 在这边可以自定义图片加载库来加载ImageView,例如Glide、Picasso、ImageLoader等
Glide.with(context).load(path).into(imageView);
}
};
// 配置选项
ImgSelConfig config = new ImgSelConfig.Builder(loader)
// 是否多选
.multiSelect(false)
// “确定”按钮背景色
.btnBgColor(Color.GRAY)
// “确定”按钮文字颜色
.btnTextColor(Color.BLUE)
// 标题
.title("图片")
// 标题文字颜色
.titleColor(Color.WHITE)
// TitleBar背景色
.titleBgColor(Color.parseColor("#3F51B5"))
// 裁剪大小。needCrop为true的时候配置
.cropSize(1, 1, 200, 200)
.needCrop(true)
// 第一个是否显示相机
.needCamera(false)
// 最大选择图片数量
.maxNum(9)
.build();
// 跳转到图片选择器
ImgSelActivity.startActivity(this, config, REQUEST_CODE);
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// 图片选择结果回调
if (requestCode == REQUEST_CODE && resultCode == RESULT_OK && data != null) {
List<String> pathList = data.getStringArrayListExtra(ImgSelActivity.INTENT_RESULT);
for (String path : pathList) {
tvResult.append(path + "\n");
}
}
}
欢迎交流指正~
- 大小: 387.9 KB
分享到:
相关推荐
"Android地名选择器 全国省市区选择器 城市选择 区县选择"是一个针对这种需求的专业组件,它允许用户在应用程序内方便地挑选中国境内的省份、城市以及区县。这个组件通常包含一个层次化的列表视图,用户可以逐级下拉...
充分自由定制,极大程度地简化使用,支持图库多选/图片预览/单选/照片裁剪/拍摄/自定义图片加载方式/自定义色调/沉浸式状态栏 依赖 dependencies { compile 'com.yuyh.imgsel:library:2.1.0' } 版本 V2.1.0适应...
总的来说,"Android照片选择器"是一个功能完备的图片选择解决方案,它简化了在Android应用中实现照片选择和预览的流程,同时考虑到了相机拍照的集成和权限管理,使得开发者能够更专注于应用的核心业务逻辑。...
支持图库多选/单选/图片裁剪/拍照/自定义图片加载库,极大程度的简化使用。 截图 优点 1、通过实现ImageLoader接口,可以实现自定义图片加载器的功能。例如可以用Glide、Picasso、ImageLoader,暂不支持Fresco,...
其中,"Android仿微信图片选择器"是一项常见的需求,主要用于实现用户在应用内选择图片的功能,通常用于发送朋友圈、发表状态或者进行聊天时发送图片。这个功能的设计和实现涉及了多个Android开发的技术点,包括文件...
总的来说,"PhotoPicker"是一个非常实用的Android图片选择库,它极大地简化了多图片选择的实现过程,同时提供了丰富的定制选项,能够满足大多数应用的需求。通过正确地集成和配置,你可以快速地在你的Android项目中...
总之,三级联动选择器是Android应用中常见且实用的功能,对于提高用户体验和简化操作流程具有重要作用。通过理解和实现这样的组件,开发者可以提升自己的Android编程技能,更好地应对各种复杂的界面交互需求。
在Android开发中,创建一个与微信图片选择器类似的组件是一个常见的需求,这涉及到用户界面设计、图片处理、文件管理等多个方面。本实例源码提供了一个完整的解决方案,旨在帮助开发者实现类似微信的图片选择功能。...
在Android应用开发中,用户可能需要进行多图片选择,例如在社交应用中分享多张照片。`MultiImageSelector`是一个非常实用的库,它模仿了微信的图片选择器功能,可以方便地集成到你的项目中,实现高效、流畅的多图片...
此外,为了提供更好的用户体验,你可以考虑自定义图片和文件选择器,这样可以定制UI,添加更多筛选和排序选项,或者支持多选。例如,使用`DocumentFile` API处理文件选择,可以更方便地在不同存储位置之间操作。 ...
在Android开发中,文件选择器是一个非常常见的组件,它允许用户在设备的文件系统中浏览并选择文件。本文将深入探讨如何在Android应用中实现一个文件选择器,并提供相关的代码示例。 首先,理解Android的文件系统至...
使用`BitmapFactory.Options`可以控制解码时的配置,如设置`inSampleSize`来降低图片的分辨率,从而减少内存占用。 5. **动画效果**: 在Android中,可以使用`Animator`或`Transition`类为图片的缩放过程添加动画...
在Android开发中,滚轮时间选择器是一种常用的用户界面组件,允许用户通过滚动来选取特定的时间或日期。本文将深入探讨“Android滚轮时间选择器”这一主题,特别是在标题和描述中提到的四种选择模式:年月日时分、...
源码和示例提供了丰富的自定义选项,而省市区联动的选择器则展示了组件在实际场景中的应用。对阴影效果的改进则进一步提升了组件的美观性和用户体验。对于任何需要在Android应用中实现类似功能的开发者来说,这是一...
综上所述,创建一个Android自定义的日期时间选择器弹框涉及到DialogFragment的使用、布局设计、日期和时间选择器的交互处理以及可能的样式和功能优化。这个过程需要对Android开发有深入的理解,包括布局管理、事件...
在Android应用开发中,城市列表选择器是一种常见的组件,它允许用户从预定义的城市列表中选取一个或多个城市。这个组件通常用于地理位置相关的应用,如天气预报、快递查询或者地图服务。下面我们将深入探讨如何创建...
在Android开发中,日期时间选择控件是用户界面中常见且重要的组成部分,它允许用户方便地选择日期或时间。在Android SDK中,内置了DatePicker和TimePicker两种原生控件,但有时候,开发者可能需要更加强大、定制化的...
在Android开发中,有时我们需要对显示的图片进行特殊处理,比如让图片呈现圆角或完全圆形。本知识点将深入探讨如何在Android应用中完美实现图片的圆角和圆形效果。 首先,我们来看如何实现图片的圆角效果。Android...
在Android开发中,"省市区三级联动地址选择器"是一个常见的功能需求,尤其在电商、物流等应用中,用户往往需要填写详细的收货地址。这个Demo主要展示了如何实现这一功能,下面将详细介绍这个Demo的核心技术和实现...
这些库不仅可以自动处理图片压缩,还能智能地管理内存和磁盘缓存,甚至支持异步加载、占位符显示、加载失败处理等功能,极大简化了开发者的工作。 在实际应用中,为了优化用户体验,我们还需要考虑其他因素,如网络...