失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 利用Album 实现仿微信图片选择(加入了图片剪裁)

利用Album 实现仿微信图片选择(加入了图片剪裁)

时间:2019-05-18 12:29:24

相关推荐

利用Album 实现仿微信图片选择(加入了图片剪裁)

本文图片选择基于轻量开源相册 Album,在选择图片完成后会调用系统图片剪裁页面,对图片进行剪裁

效果图:

选择图片(可以自定义选择几张):

剪切图片:

使用方法

1.Gradle:

compile ‘com.yanzhenjie:album:1.0.0’

2.权限

<uses-permission android:name="android.permission.CAMERA" /><uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3.注册Activity

<activity android:name="com.yanzhenjie.album.AlbumActivity"android:label="图库"android:configChanges="orientation|keyboardHidden|screenSize"android:theme="@style/Theme.AppCompat.Light.NoActionBar"android:windowSoftInputMode="stateAlwaysHidden|stateHidden" />

其中label=“”可以随便起,是Activity的标题

4.代码实现

调用

//第一个参数Activity/Fragment; //第二个request_code;//第三个允许选择照片的数量不填可以无限选择。Album.startAlbum(MainActivity.this, 100, //请求码9,// 指定选择数量。// 指定Toolbar的颜色。ContextCompat.getColor(MainActivity.this, R.color.colorPrimary),// 指定状态栏的颜色。ContextCompat.getColor(MainActivity.this,R.color.colorPrimaryDark));

接受返回数据

@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == 100) {if (resultCode == RESULT_OK) { // 判断是否成功。// 拿到用户选择的图片路径List:List<String> pathList = Album.parseResult(data);//下面代码是用来调用系统剪裁的,这里默认对第一张选择的图片进行剪裁Uri fromFileURI = Uri.fromFile(new File(pathList.get(0)));Intent intent = new Intent("com.android.camera.action.CROP");intent.setDataAndType(fromFileURI, "image/*");intent.putExtra("crop", "true");intent.putExtra("aspectX", 1 <= 0 ? 1 : 1);intent.putExtra("aspectY", 1 <= 0 ? 1 : 1);intent.putExtra("outputX", 100);intent.putExtra("outputY", 100);intent.putExtra("scale", true);// 图片剪裁不足黑边解决intent.putExtra("scaleUpIfNeeded", true);intent.putExtra("return-data", false);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(new File(pathList.get(0) + "1")));//这里是保存剪裁后的图片(名字随便起的)intent.putExtra("outputFormat", pressFormat.JPEG.toString());// 去除人脸识别startActivity(intent.putExtra("noFaceDetection", true));} else if (resultCode == RESULT_CANCELED) { // 用户取消选择。// 根据需要提示用户取消了选择。}}}

如果觉得《利用Album 实现仿微信图片选择(加入了图片剪裁)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。