图片选择

This commit is contained in:
jia 2024-12-01 23:58:25 +08:00
parent b1483ec5da
commit f3be12177c
4 changed files with 173 additions and 4 deletions

View File

@ -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'
} }

View File

@ -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"

View File

@ -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() {
}
});
} }
/* /*

View File

@ -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;
/**
* @authorluck
* @date2019-11-13 17:02
* @describeGlide加载引擎
*/
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;
}
}