Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0

不知道为什么README文档在github上排版格式全乱了,所以写个博客当文档看吧

ImagePicker

这是一个Android使用的自定义图片选择器,众所周知,Android碎片化问题严重,其中就包括图片选择的问题,调用系统相册选择图片或裁剪图片时反应慢,用户体验有种割裂感,所以自定义一个通用的图片选择器还是有点小必要的,最近也闲着没事做就撸了一个,效果还行,喜欢的可以star或fork,发现问题的也请麻烦提交issue。

Github地址:https://github.com/Vanish136/ImagePicker

码云地址:http://git.oschina.net/vanish136/ImagePicker

效果图

Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0_第1张图片
API使用Demo

Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0_第2张图片
选择图片示例

Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0_第3张图片
查看大图示例

Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0_第4张图片
裁剪示例

使用方法

1.添加Gradle依赖

    dependencies{
         compile 'com.lwkandroid:ImagePicker:1.3.0'
    }

注:该博客不再更新,要了解最新版请查看github或码云


2.代码中使用

//发起图片选择
    new ImagePicker()
                   .pickType(ImagePickType.MULTI) //设置选取类型(拍照ONLY_CAMERA、单选SINGLE、多选MUTIL)
                   .maxNum(9) //设置最大选择数量(此选项只对多选生效,拍照和单选都是1,修改后也无效)
                   .needCamera(true) //是否需要在界面中显示相机入口(类似微信那样)
                   .cachePath(cachePath) //自定义缓存路径(拍照和裁剪都需要用到缓存)
                   .doCrop(1,1,300,300) //裁剪功能需要调用这个方法,多选模式下无效,参数:aspectX,aspectY,outputX,outputY
                   .displayer(new GlideImagePickerDisplayer()) //自定义图片加载器,默认是Glide实现的,可自定义图片加载器
                   .start(this, REQUEST_CODE); //自定义RequestCode

    //重写Activity或Fragment中OnActivityResult()
    @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 resultList = data.getParcelableArrayListExtra(ImagePicker.INTENT_RESULT_DATA);
        }
    }

更详细的使用样式请参考github上的demo

感谢

项目中裁剪模块修改自开源项目:https://github.com/oginotihiro/cropview
感谢所有为开源做出贡献的人!

你可能感兴趣的:(Android自定义图片选取器,类似微信样式,自带裁剪功能,适配Android7.0)