1、工程build.gradle
buildscript {
repositories {
//glide
mavenCentral()
}
}
2、module.gradle
//glide
implementation 'com.github.bumptech.glide:glide:4.12.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
3、添加类MyAppGlideModule
/**
* 1、在 Application 模块中,可创建一个添加有 @GlideModule 注解,继承自 AppGlideModule 的类。此类可生成出一个流式 API,内联了多种选项,
* 和集成库中自定义的选项:
* <p>
* 2、生成的 API 默认名为 GlideApp ,与 AppGlideModule 的子类包名相同。在 Application 模块中将 Glide.with() 替换为 GlideApp.with(),
* 即可使用该 API 去完成加载工作。
*/
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
}
4、在res/xml文件下新建network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
5、在manifest.xml application根目录下
android:allowBackup="true"
android:networkSecurityConfig="@xml/network_security_config"
6、工具类
public class GlideUtil {
public static void showWithUrl(String url, ImageView target) {
if (TextUtils.isEmpty(url)) {
return;
}
GlideApp.with(BaseApplication.getAppInstance()).load(url)
.placeholder(R.drawable.ic_place_holder)
.error(R.drawable.ic_place_holder)
.into(target);
}
public static void showWithFullUrl(String url, ImageView target) {
if (TextUtils.isEmpty(url)) {
// ToastUtil.showShortToast("图片链接不存在");
return;
}
GlideApp.with(BaseApplication.getAppInstance()).load(url)
.placeholder(R.drawable.ic_place_holder)
.error(R.drawable.ic_place_holder)
.into(target);
}
public static void showWithRes(int resId, ImageView target) {
GlideApp.with(BaseApplication.getAppInstance()).load(resId).into(target);
}
public static void showWithPath(String path, ImageView target) {
GlideApp.with(BaseApplication.getAppInstance()).load(new File(path)).into(target);
}
public static void showCircleWithPath(String path, ImageView target) {
GlideApp.with(BaseApplication.getAppInstance()).asBitmap().transform(new CircleCrop()).load(new File(path)).into(target);
}
public static void showCircleImg(String url, ImageView target) {
GlideApp.with(BaseApplication.getAppInstance()).asBitmap()
.error(R.drawable.ic_place_holder)
.transform(new CircleCrop())
.load(url).into(target);
}
}
7、使用
GlideUtil.showWithUrl(url, iv);