图片选择
This commit is contained in:
parent
b1483ec5da
commit
f3be12177c
|
|
@ -181,4 +181,11 @@ dependencies {
|
||||||
// annotationProcessor 'com.github.bumptech.glide:compiler:3.7.0'
|
// annotationProcessor 'com.github.bumptech.glide:compiler:3.7.0'
|
||||||
implementation 'com.getui:gtsdk:3.3.7.0' //个推SDK
|
implementation 'com.getui:gtsdk:3.3.7.0' //个推SDK
|
||||||
implementation 'com.getui:gtc:3.2.16.0' //个推核心组件
|
implementation 'com.getui:gtc:3.2.16.0' //个推核心组件
|
||||||
|
|
||||||
|
implementation 'io.github.lucksiege:pictureselector:v3.11.2'
|
||||||
|
// 图片压缩 (按需引入)
|
||||||
|
implementation 'io.github.lucksiege:compress:v3.11.2'
|
||||||
|
|
||||||
|
// 图片裁剪 (按需引入)
|
||||||
|
implementation 'io.github.lucksiege:ucrop:v3.11.2'
|
||||||
}
|
}
|
||||||
|
|
@ -181,6 +181,19 @@
|
||||||
<package android:name="com.taobao.taobao" />
|
<package android:name="com.taobao.taobao" />
|
||||||
</queries>
|
</queries>
|
||||||
|
|
||||||
|
<queries package="${applicationId}">
|
||||||
|
<intent>
|
||||||
|
<action android:name="android.media.action.IMAGE_CAPTURE">
|
||||||
|
|
||||||
|
</action>
|
||||||
|
</intent>
|
||||||
|
<intent>
|
||||||
|
<action android:name="android.media.action.ACTION_VIDEO_CAPTURE">
|
||||||
|
|
||||||
|
</action>
|
||||||
|
</intent>
|
||||||
|
</queries>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
android:name="com.ifish.baseclass.BaseApplication"
|
android:name="com.ifish.baseclass.BaseApplication"
|
||||||
android:allowBackup="false"
|
android:allowBackup="false"
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@
|
||||||
package com.ifish.activity;
|
package com.ifish.activity;
|
||||||
|
|
||||||
import android.app.Dialog;
|
import android.app.Dialog;
|
||||||
|
import android.app.Fragment;
|
||||||
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.net.Uri;
|
import android.net.Uri;
|
||||||
|
|
@ -25,6 +27,7 @@ import android.widget.ImageView;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.Glide;
|
||||||
import com.ifish.basebean.BaseBean;
|
import com.ifish.basebean.BaseBean;
|
||||||
import com.ifish.basebean.LoadHeadImage;
|
import com.ifish.basebean.LoadHeadImage;
|
||||||
import com.ifish.basebean.User;
|
import com.ifish.basebean.User;
|
||||||
|
|
@ -34,17 +37,29 @@ import com.ifish.utils.AnimationUtil;
|
||||||
import com.ifish.utils.Commons;
|
import com.ifish.utils.Commons;
|
||||||
import com.ifish.utils.Commons.NetWork;
|
import com.ifish.utils.Commons.NetWork;
|
||||||
import com.ifish.utils.Commons.Text;
|
import com.ifish.utils.Commons.Text;
|
||||||
|
import com.ifish.utils.GlideEngine;
|
||||||
import com.ifish.utils.HttpListener;
|
import com.ifish.utils.HttpListener;
|
||||||
import com.ifish.utils.HttpManager;
|
import com.ifish.utils.HttpManager;
|
||||||
|
import com.ifish.utils.L;
|
||||||
import com.ifish.utils.SPUtil;
|
import com.ifish.utils.SPUtil;
|
||||||
import com.ifish.utils.ToastUtil;
|
import com.ifish.utils.ToastUtil;
|
||||||
import com.ifish.view.CircleImageView;
|
import com.ifish.view.CircleImageView;
|
||||||
|
import com.luck.picture.lib.basic.PictureSelector;
|
||||||
|
import com.luck.picture.lib.config.SelectMimeType;
|
||||||
|
import com.luck.picture.lib.config.SelectModeConfig;
|
||||||
|
import com.luck.picture.lib.engine.CropEngine;
|
||||||
|
import com.luck.picture.lib.engine.CropFileEngine;
|
||||||
|
import com.luck.picture.lib.entity.LocalMedia;
|
||||||
|
import com.luck.picture.lib.interfaces.OnResultCallbackListener;
|
||||||
import com.squareup.picasso.Picasso;
|
import com.squareup.picasso.Picasso;
|
||||||
|
import com.yalantis.ucrop.UCrop;
|
||||||
|
import com.yalantis.ucrop.UCropImageEngine;
|
||||||
|
|
||||||
import java.io.BufferedOutputStream;
|
import java.io.BufferedOutputStream;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import de.greenrobot.event.EventBus;
|
import de.greenrobot.event.EventBus;
|
||||||
|
|
||||||
|
|
@ -488,10 +503,28 @@ public class MineActivity extends BaseActivity {
|
||||||
* 从相册获取
|
* 从相册获取
|
||||||
*/
|
*/
|
||||||
public void gallery() {
|
public void gallery() {
|
||||||
// 激活系统图库,选择一张图片
|
// // 激活系统图库,选择一张图片
|
||||||
Intent intent = new Intent(Intent.ACTION_PICK);
|
// Intent intent = new Intent(Intent.ACTION_PICK);
|
||||||
intent.setType("image/*");
|
// intent.setType("image/*");
|
||||||
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
|
// startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
|
||||||
|
PictureSelector.create(this)
|
||||||
|
.openGallery(SelectMimeType.ofImage())
|
||||||
|
.setImageEngine(GlideEngine.createGlideEngine())
|
||||||
|
.setSelectionMode(SelectModeConfig.SINGLE)
|
||||||
|
|
||||||
|
|
||||||
|
.forResult(new OnResultCallbackListener<LocalMedia>() {
|
||||||
|
@Override
|
||||||
|
public void onResult(ArrayList<LocalMedia> result) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCancel() {
|
||||||
|
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,116 @@
|
||||||
|
package com.ifish.utils;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
|
||||||
|
import com.bumptech.glide.Glide;
|
||||||
|
import com.bumptech.glide.load.resource.bitmap.CenterCrop;
|
||||||
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
|
||||||
|
import com.ifish.activity.R;
|
||||||
|
import com.luck.picture.lib.engine.ImageEngine;
|
||||||
|
import com.luck.picture.lib.utils.ActivityCompatHelper;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author:luck
|
||||||
|
* @date:2019-11-13 17:02
|
||||||
|
* @describe:Glide加载引擎
|
||||||
|
*/
|
||||||
|
public class GlideEngine implements ImageEngine {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载图片
|
||||||
|
*
|
||||||
|
* @param context 上下文
|
||||||
|
* @param url 资源url
|
||||||
|
* @param imageView 图片承载控件
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void loadImage(Context context, String url, ImageView imageView) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context)
|
||||||
|
.load(url)
|
||||||
|
.into(imageView);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void loadImage(Context context, ImageView imageView, String url, int maxWidth, int maxHeight) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context)
|
||||||
|
.load(url)
|
||||||
|
.override(maxWidth, maxHeight)
|
||||||
|
.into(imageView);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载相册目录封面
|
||||||
|
*
|
||||||
|
* @param context 上下文
|
||||||
|
* @param url 图片路径
|
||||||
|
* @param imageView 承载图片ImageView
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void loadAlbumCover(Context context, String url, ImageView imageView) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context)
|
||||||
|
.asBitmap()
|
||||||
|
.load(url)
|
||||||
|
.override(180, 180)
|
||||||
|
.sizeMultiplier(0.5f)
|
||||||
|
.transform(new CenterCrop(), new RoundedCorners(8))
|
||||||
|
.placeholder(R.drawable.umeng_socialize_share_pic)
|
||||||
|
.into(imageView);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 加载图片列表图片
|
||||||
|
*
|
||||||
|
* @param context 上下文
|
||||||
|
* @param url 图片路径
|
||||||
|
* @param imageView 承载图片ImageView
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void loadGridImage(Context context, String url, ImageView imageView) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context)
|
||||||
|
.load(url)
|
||||||
|
.override(200, 200)
|
||||||
|
.centerCrop()
|
||||||
|
.placeholder(R.drawable.umeng_socialize_share_pic)
|
||||||
|
.into(imageView);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void pauseRequests(Context context) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context).pauseRequests();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void resumeRequests(Context context) {
|
||||||
|
if (!ActivityCompatHelper.assertValidRequest(context)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
Glide.with(context).resumeRequests();
|
||||||
|
}
|
||||||
|
|
||||||
|
private GlideEngine() {
|
||||||
|
}
|
||||||
|
|
||||||
|
private static final class InstanceHolder {
|
||||||
|
static final GlideEngine instance = new GlideEngine();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static GlideEngine createGlideEngine() {
|
||||||
|
return InstanceHolder.instance;
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue