mirror of
https://e.coding.net/mcontext/mContext/sdu.git
synced 2024-09-18 02:24:54 +08:00
优化头像裁减效果
This commit is contained in:
parent
3a1c3798a5
commit
8173441a3f
@ -2,22 +2,29 @@ package com.yuxihan.sdu.ui.info;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.luck.picture.lib.PictureSelector;
|
||||
import com.luck.picture.lib.config.PictureConfig;
|
||||
import com.luck.picture.lib.config.PictureMimeType;
|
||||
import com.luck.picture.lib.entity.LocalMedia;
|
||||
import com.luck.picture.lib.listener.OnResultCallbackListener;
|
||||
import com.yuxihan.sdu.R;
|
||||
import com.yuxihan.sdu.comm.BaseActivity;
|
||||
import com.yuxihan.sdu.comm.Const;
|
||||
import com.yuxihan.sdu.comm.util.GlideEngine;
|
||||
import com.yuxihan.sdu.comm.widget.ActionSheetDialog;
|
||||
|
||||
public class InfoEditActivity extends BaseActivity {
|
||||
import java.util.List;
|
||||
|
||||
import de.hdodenhof.circleimageview.CircleImageView;
|
||||
|
||||
public class InfoEditActivity extends BaseActivity {
|
||||
private static final String TAG = "InfoEditActivity";
|
||||
private Context mContext = InfoEditActivity.this;
|
||||
|
||||
CircleImageView civ_head;
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@ -26,6 +33,7 @@ public class InfoEditActivity extends BaseActivity {
|
||||
}
|
||||
|
||||
private void initView() {
|
||||
civ_head = findViewById(R.id.civ_head);
|
||||
String[] fileFrom = new String[]{"相机", "图库"};
|
||||
//头像控件点击事件
|
||||
findViewById(R.id.rl_head_icon).setOnClickListener(new View.OnClickListener() {
|
||||
@ -73,8 +81,9 @@ public class InfoEditActivity extends BaseActivity {
|
||||
.maxSelectNum(1)// 最大图片选择数量
|
||||
.minSelectNum(1)// 最小选择数量
|
||||
.isCamera(false)// 是否显示拍照按钮
|
||||
.imageSpanCount(5)// 每行显示个数
|
||||
.compress(false)// 是否压缩 true or false
|
||||
.imageSpanCount(4)// 每行显示个数
|
||||
.isCompress(true)// 是否压缩 true or false
|
||||
.compressQuality(60)
|
||||
.maxSelectNum(1)// 最大图片选择数量
|
||||
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
|
||||
.synOrAsy(true)//同步true或异步false 压缩 默认同步
|
||||
@ -82,7 +91,12 @@ public class InfoEditActivity extends BaseActivity {
|
||||
//.selectionMedia(picList)// 是否传入已选图片
|
||||
.minimumCompressSize(100)// 小于100kb的图片不压缩
|
||||
.loadImageEngine(GlideEngine.createGlideEngine())
|
||||
.forResult(Const.PIC_OK);//结果回调onActivityResult code
|
||||
.isEnableCrop(true)//是否开启裁剪
|
||||
.circleDimmedLayer(true)// 是否开启圆形裁剪
|
||||
.showCropGrid(false)
|
||||
.showCropFrame(false)
|
||||
.withAspectRatio(1,1)
|
||||
.forResult(new PicResultCallback());//结果回调
|
||||
}
|
||||
|
||||
|
||||
@ -93,16 +107,82 @@ public class InfoEditActivity extends BaseActivity {
|
||||
.openCamera(PictureMimeType.ofImage())
|
||||
.theme(R.style.picture_white_style)// 主题样式设置 具体参考 values/styles
|
||||
.minSelectNum(1)// 最小选择数量
|
||||
.compress(false)
|
||||
.isCompress(true)
|
||||
.compressQuality(60)
|
||||
.selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选
|
||||
.isCamera(false)// 是否显示拍照按钮
|
||||
.glideOverride(120, 120)// glide 加载宽高,越小图片列表越流畅,但会影响列表图片浏览的清晰度
|
||||
//.selectionMedia(picList)// 是否传入已选图片
|
||||
.imageSpanCount(5)// 每行显示个数
|
||||
.imageSpanCount(4)// 每行显示个数
|
||||
.maxSelectNum(1)// 最大图片选择数量
|
||||
.isZoomAnim(true)// 图片列表点击 缩放效果 默认true
|
||||
.synOrAsy(true)//同步true或异步false 压缩 默认同步
|
||||
.minimumCompressSize(100)// 小于100kb的图片不压缩
|
||||
.forResult(Const.CAMERA_OK);
|
||||
.isEnableCrop(true)//是否开启裁剪
|
||||
.circleDimmedLayer(true)// 是否开启圆形裁剪
|
||||
.showCropGrid(false)
|
||||
.showCropFrame(false)
|
||||
.withAspectRatio(1,1)
|
||||
.forResult(new CameraResultCallback());//结果回调
|
||||
}
|
||||
|
||||
/**
|
||||
* 图库返回结果回调
|
||||
*/
|
||||
private class PicResultCallback implements OnResultCallbackListener<LocalMedia> {
|
||||
|
||||
@Override
|
||||
public void onResult(List<LocalMedia> result) {
|
||||
for (LocalMedia media : result) {
|
||||
Log.i(TAG, "PicResultCallback");
|
||||
Log.i(TAG, "是否压缩:" + media.isCompressed());
|
||||
Log.i(TAG, "压缩:" + media.getCompressPath());//取这个值
|
||||
Log.i(TAG, "原图:" + media.getPath());
|
||||
Log.i(TAG, "是否裁剪:" + media.isCut());
|
||||
Log.i(TAG, "裁剪:" + media.getCutPath());
|
||||
Log.i(TAG, "是否开启原图:" + media.isOriginal());
|
||||
Log.i(TAG, "原图路径:" + media.getOriginalPath());
|
||||
Log.i(TAG, "Android Q 特有Path:" + media.getAndroidQToPath());
|
||||
Log.i(TAG, "宽高: " + media.getWidth() + "x" + media.getHeight());
|
||||
Log.i(TAG, "Size: " + media.getSize());
|
||||
//TODO:上传 media.getCompressPath()
|
||||
Glide.with(InfoEditActivity.this).load(media.getCompressPath()).into(civ_head);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
Log.i(TAG, "PictureSelector Cancel");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 相册返回结果回调
|
||||
*/
|
||||
private class CameraResultCallback implements OnResultCallbackListener<LocalMedia> {
|
||||
|
||||
@Override
|
||||
public void onResult(List<LocalMedia> result) {
|
||||
for (LocalMedia media : result) {
|
||||
Log.i(TAG, "CameraResultCallback");
|
||||
Log.i(TAG, "是否压缩:" + media.isCompressed());
|
||||
Log.i(TAG, "压缩:" + media.getCompressPath());
|
||||
Log.i(TAG, "原图:" + media.getPath());
|
||||
Log.i(TAG, "是否裁剪:" + media.isCut());
|
||||
Log.i(TAG, "裁剪:" + media.getCutPath());
|
||||
Log.i(TAG, "是否开启原图:" + media.isOriginal());
|
||||
Log.i(TAG, "原图路径:" + media.getOriginalPath());
|
||||
Log.i(TAG, "Android Q 特有Path:" + media.getAndroidQToPath());
|
||||
Log.i(TAG, "宽高: " + media.getWidth() + "x" + media.getHeight());
|
||||
Log.i(TAG, "Size: " + media.getSize());
|
||||
//TODO:上传 media.getCompressPath()
|
||||
Glide.with(InfoEditActivity.this).load(media.getCompressPath()).into(civ_head);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCancel() {
|
||||
Log.i(TAG, "PictureSelector Cancel");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user