Android:Glide加载图片版本4.12.0

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);

猜你喜欢

转载自blog.csdn.net/baidu_24743861/article/details/127088361