`
iaiai
  • 浏览: 2198039 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android 图片选择器,丰富的配置选项,极大程度的简化使用

 
阅读更多
最近也是刚好项目用到,于是就动手写了一个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地名选择器 全国省市区选择器 城市选择 区县选择

    "Android地名选择器 全国省市区选择器 城市选择 区县选择"是一个针对这种需求的专业组件,它允许用户在应用程序内方便地挑选中国境内的省份、城市以及区县。这个组件通常包含一个层次化的列表视图,用户可以逐级下拉...

    ImageSelector:Android图片选择器。充分自由定制,极大程度地简化使用,支持图库多选图​​片预览单选照片裁剪截图自定义图片加载方式自定义色调沉浸式状态栏

    充分自由定制,极大程度地简化使用,支持图库多选/图片预览/单选/照片裁剪/拍摄/自定义图片加载方式/自定义色调/沉浸式状态栏 依赖 dependencies { compile 'com.yuyh.imgsel:library:2.1.0' } 版本 V2.1.0适应...

    Android 照片选择器 照片选择器 图片预览 拍照

    总的来说,"Android照片选择器"是一个功能完备的图片选择解决方案,它简化了在Android应用中实现照片选择和预览的流程,同时考虑到了相机拍照的集成和权限管理,使得开发者能够更专注于应用的核心业务逻辑。...

    Android图片选择器 丰富的配置选项

    支持图库多选/单选/图片裁剪/拍照/自定义图片加载库,极大程度的简化使用。 截图 优点 1、通过实现ImageLoader接口,可以实现自定义图片加载器的功能。例如可以用Glide、Picasso、ImageLoader,暂不支持Fresco,...

    Android仿微信图片选择器

    其中,"Android仿微信图片选择器"是一项常见的需求,主要用于实现用户在应用内选择图片的功能,通常用于发送朋友圈、发表状态或者进行聊天时发送图片。这个功能的设计和实现涉及了多个Android开发的技术点,包括文件...

    Android自定义日期选择器源码

    在Android开发中,系统默认的日期和时间选择器虽然实用,但往往无法满足所有场景的需求。因此,开发者经常需要自定义日期选择器来提供更符合应用风格或特定功能的交互体验。这篇内容将深入探讨如何在Android中创建一...

    Android中多图片选择器PhotoPicker库的使用

    总的来说,"PhotoPicker"是一个非常实用的Android图片选择库,它极大地简化了多图片选择的实现过程,同时提供了丰富的定制选项,能够满足大多数应用的需求。通过正确地集成和配置,你可以快速地在你的Android项目中...

    三级联动选择器 (Android版)

    总之,三级联动选择器是Android应用中常见且实用的功能,对于提高用户体验和简化操作流程具有重要作用。通过理解和实现这样的组件,开发者可以提升自己的Android编程技能,更好地应对各种复杂的界面交互需求。

    Android中多图片选择器MultiImageSelector的使用(仿微信)

    在Android应用开发中,用户可能需要进行多图片选择,例如在社交应用中分享多张照片。`MultiImageSelector`是一个非常实用的库,它模仿了微信的图片选择器功能,可以方便地集成到你的项目中,实现高效、流畅的多图片...

    Android图片选择、文件选择的Demo

    此外,为了提供更好的用户体验,你可以考虑自定义图片和文件选择器,这样可以定制UI,添加更多筛选和排序选项,或者支持多选。例如,使用`DocumentFile` API处理文件选择,可以更方便地在不同存储位置之间操作。 ...

    Android中文件选择器的实现(代码)

    在Android开发中,文件选择器是一个非常常见的组件,它允许用户在设备的文件系统中浏览并选择文件。本文将深入探讨如何在Android应用中实现一个文件选择器,并提供相关的代码示例。 首先,理解Android的文件系统至...

    android图片缩放放大

    使用`BitmapFactory.Options`可以控制解码时的配置,如设置`inSampleSize`来降低图片的分辨率,从而减少内存占用。 5. **动画效果**: 在Android中,可以使用`Animator`或`Transition`类为图片的缩放过程添加动画...

    android开源滚动选择器wheel&demo&省市区地址选择器

    源码和示例提供了丰富的自定义选项,而省市区联动的选择器则展示了组件在实际场景中的应用。对阴影效果的改进则进一步提升了组件的美观性和用户体验。对于任何需要在Android应用中实现类似功能的开发者来说,这是一...

    Android 自定义 弹框,日期选择器 弹框,年月日,时分,

    综上所述,创建一个Android自定义的日期时间选择器弹框涉及到DialogFragment的使用、布局设计、日期和时间选择器的交互处理以及可能的样式和功能优化。这个过程需要对Android开发有深入的理解,包括布局管理、事件...

    Android 城市列表选择器

    在Android应用开发中,城市列表选择器是一种常见的组件,它允许用户从预定义的城市列表中选取一个或多个城市。这个组件通常用于地理位置相关的应用,如天气预报、快递查询或者地图服务。下面我们将深入探讨如何创建...

    Android强大的日期时间选择控件

    在Android开发中,日期时间选择控件是用户界面中常见且重要的组成部分,它允许用户方便地选择日期或时间。在Android SDK中,内置了DatePicker和TimePicker两种原生控件,但有时候,开发者可能需要更加强大、定制化的...

    android省市区三级联动地址选择器demo

    在Android开发中,"省市区三级联动地址选择器"是一个常见的功能需求,尤其在电商、物流等应用中,用户往往需要填写详细的收货地址。这个Demo主要展示了如何实现这一功能,下面将详细介绍这个Demo的核心技术和实现...

    Android 完美实现图片圆角和圆形

    在Android开发中,有时我们需要对显示的图片进行特殊处理,比如让图片呈现圆角或完全圆形。本知识点将深入探讨如何在Android应用中完美实现图片的圆角和圆形效果。 首先,我们来看如何实现图片的圆角效果。Android...

    Android大图片缓存技术Demo

    这些库不仅可以自动处理图片压缩,还能智能地管理内存和磁盘缓存,甚至支持异步加载、占位符显示、加载失败处理等功能,极大简化了开发者的工作。 在实际应用中,为了优化用户体验,我们还需要考虑其他因素,如网络...

    Android 水平滚动数字选择器,和日历滚动一样

    该Android水平数字滚动器,完全自定义,继承view,在界面中可以左右滚动一行很长的数据,可以并且选中屏幕中间的数字,中间的数字最大最大,两边数字变淡变小,可以根据个人需要调整字体和颜色,在实际项目开发中可以...

Global site tag (gtag.js) - Google Analytics