Android Glide V4 图片加载
程序员文章站
2022-05-03 12:54:15
...
说明:
之前一直使用的是Glide V3版本,实用比较简单,但是Glide更新了,所以项目也随之升级为Glide V4版本。
引入包:
根目录build.gradle的allprojects中加入:
allprojects {
repositories {
//support annotations
maven {
url "https://maven.google.com"
}
maven {
url "https://dl.google.com/dl/android/maven2/"
}
}
}
*记得一定是在allprojects 否则项目不会编译成功的。
项目build.gradle中引人jar包:
dependencies {
compile 'com.github.bumptech.glide:glide:4.3.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.3.1'
}
重写类:
如果仅仅操作了上面的代码是不会运行成功的,需要重写一个类,这样V4的GlideApp才能想V3版本那样Glide一样的格式使用。
/**
* GlideApp 必须实现
* Created by zst on 2018/1/23.
*/
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}
记住一定要有注解@GlideModule
用法:
1、图片圆形处理和占位图
GlideApp.with(MainActivity.this)
.load(imageUrl)
.apply(RequestOptions.circleCropTransform())//图片是圆形的
.placeholder(R.drawable.ic_user_default)//占位图
.into(iv_account);
2、取消加载图片
GlideApp.with(fragment).clear(imageView);
3、加载失败后显示的图片(Error)
GlideApp.with(fragment)
.load(url)
.error(R.drawable.error)
.into(view);
4、加载图片带淡入淡出的动画效果
GlideApp.with(this)
.load(url)
.transition(withCrossFade())
.into(ivTest);
5、在磁盘缓存(默认Glide是自带缓存的,自行管理缓存)
GlideApp.with(fragment)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
6、仅从缓存加载图片
GlideApp.with(fragment)
.load(url)
.onlyRetrieveFromCache(true)
.into(imageView);
7、跳过内存缓存
GlideApp.with(fragment)
.load(url)
.skipMemoryCache(true)
.into(view);
8、跳过磁盘缓存
GlideApp.with(fragment)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(view);
9、跳过所有的缓存
GlideApp.with(fragment)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.skipMemoryCache(true)
.into(view);
10、清理磁盘的缓存
GlideApp.get(applicationContext).clearDiskCache();
11、Android Glide V4 高斯模糊
地址:http://blog.csdn.net/u012246458/article/details/79161483开发中遇到的报错:
http://blog.csdn.net/u012246458/article/details/51891265
http://blog.csdn.net/u012246458/article/details/79161416