Android通过CropView与Compressor实现选择图片并裁剪

Android 拍照、打开相册并裁剪这事来来回回整了好几次,要么SDK版本更新,要么手机适配。索性用了第三方,一劳永逸。

这里主要用了CropView实现裁剪,Compressor实现图片压缩

点击查看大图并缩放懒得弄 下班了 今个周五  明个还加班   可以自己加,可以直接在NormalUtils.intent2ShowPic方法下写  就直接能跳转了 

代码下载地址:https://download.csdn.net/download/zhuxu820_/10626125

------------------------------------------------------------

集成方法:

1.集成CropView(https://github.com/freekite/Android-CropView)和Compressor

    implementation project(':cropview-lib')
    compile 'id.zelory:compressor:2.1.0'

2.ManiFest中声明CropActivity(注意:需要关闭ActionBar,否则报错This Activity already has an action bar supplied by the window decor)

 

主要方法类介绍:

SingleChooseActivity:单图片选择,适用于头像上传等范围

方法:

继承BaseSingleFuleSubmitActivity

在onCreate中调用CropperManager.getInstance().build(this);   

通过PhotoUtils.showPhotoDialog(Activity); 调起选择图片、拍照

复写getPicData(Bitmap bitmap) 方法,在该方法的返回中获得选择的图片

PartChooseActivity:组图片选择,单次选择一张图片,选择后类似朋友圈形式

方法:

继承BaseDoubleFileSubmitActivity

在onCreate中调用CropperManager.getInstance().build(this);   

初始化gridview

通过initPicList方法初始化初始数据

通过getAllAddList获得当前grid中所有文件

通过getFileParams获得所有信息

DoublePartChooseActivity:多组图片选择上传,理论上可实现无限组,适用于上传驾驶证、身份证等多组不同信息时

方法:

继承BaseDoublePartFileSubmitActivity

在onCreate中调用CropperManager.getInstance().build(this);   

通过initNewOne(Activity activity, int index, int grid_id, ArrayList list_data_a)初始化一组图片选择grid,理论可以实现无限组

通过list_dao.get(0).getAllAddList()获得当前grid中所有文件

通过list_dao.get(0).getFileParams()获得所有信息

其它方法多为自用方法,以及部分冗余废弃方法,可自行删减

------------------------------------------------------------------------------------------------------------------

可以实现单图片选择(适用于上传头像)

多图片(微信朋友圈)

可自由裁剪、可旋转

可单张上传

Android通过CropView与Compressor实现选择图片并裁剪_第1张图片

可删除已上传

Android通过CropView与Compressor实现选择图片并裁剪_第2张图片

多组图片上传

Android通过CropView与Compressor实现选择图片并裁剪_第3张图片

 

你可能感兴趣的:(Android通过CropView与Compressor实现选择图片并裁剪)