今日解读的是谷歌强烈推荐的图片架构glide的完整操作方法
最先开启AS工程项目-Android开发环境
添加依赖
implementation \'com.github.bumptech.glide:glide:4.5.0\'
annotationProcessor \'com.github.bumptech.glide:compiler:4.5.0\'
添加互联网管理权限
<uses-permission android:name=\"android.permission.INTERNET\" />
图片的应用
1、载入图片到imageView
Glide.with(Context context).load(Strint url).into(ImageView imageView);
2、各种各样类型的图片载入到ImageView
// 加载当地图片
File file = new File(getExternalCacheDir() \"/image.jpg\");
Glide.with(this).load(file).into(imageView);
// 载入运用資源
int resource = R.drawable.image;
Glide.with(this).load(resource).into(imageView);
// 载入二进制流
byte[] image = getImageBytes();
Glide.with(this).load(image).into(imageView);
// 加载Uri目标
Uri imageUri = getImageUri();
Glide.with(this).load(imageUri).into(imageView);
3、载入含有占位图
Glide.with(this).load(url).placeholder(R.drawable.loading).into(imageView);
占位图目地为在目的图片还未载入下来的情况下,提早展现给客户的一张图片;
4、加载失败 置放占位符
Glide.with(this).load(url).placeholder(R.drawable.loading).error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)//关掉Glide的硬盘缓存体制
.into(imageView);
//DiskCacheStrategy.NONE: 表明不缓存文件一切內容。
//DiskCacheStrategy.SOURCE: 表明只缓存文件初始图片。
//DiskCacheStrategy.RESULT: 表明只缓存文件变换之后的图片(默认设置选择项)。
//DiskCacheStrategy.ALL : 表明既缓存文件初始图片,也缓存文件变换之后的图片。
5、载入特定文件格式的图片–特定为静止不动图片
Glide.with(this)
.load(url)
.asBitmap()//只载入静态数据图片,如果是git图片则只载入第一帧。
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(imageView);
6、加载动态性图片
Glide.with(this)
.load(url)
.asGif()//载入动态性图片,若目前图片为非gif图片,则立即载入不正确占位图。
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.into(imageView);
7、载入特定尺寸的图片
Glide.with(this)
.load(url)
.placeholder(R.drawable.loading)
.error(R.drawable.error)
.diskCacheStrategy(DiskCacheStrategy.NONE)
.override(100, 100)//特定图片尺寸
.into(imageView)
8、关掉架构的运行内存缓存文件体制
Glide.with(this)
.load(url)
.skipMemoryCache(true) //传到主要参数为false时,则关掉运行内存缓存文件。
.into(imageView);
9、关掉电脑硬盘的缓存文件
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.NONE) //关掉硬盘缓存实际操作
.into(imageView);
10、运用Glide将图片载入到不一样控制或载入成不一样应用方法
//1、根据自身结构 target 可以获得到图片案例
SimpleTarget<GlideDrawable> simpleTarget = new SimpleTarget<GlideDrawable>() {
@Override
public void onResourceReady(GlideDrawable resource, GlideAnimation glideAnimation) {
imageView.setImageDrawable(resource);
}
};
//2、将图片实例记述到特定的imageview上,还可以做其它的事儿
public void loadImage(View view) {
String url = \"https://cdn.d1wan.com/wp-content/uploads/2022/05/02/https://cdn.d1wan.com/wp-content/uploads/2022/05/20220502064308-626f7d7cc8c20.jpg\";
Glide.with(this)
.load(url)
.into(simpleTarget);
}
11、也有一些必须 规定预加载图片,Glide 完成预加载
//a、预加载编码
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.preload();
//preload() 有二种轻载
// 1、含有主要参数的轻载,主要参数功效是设定预加载的图片尺寸;
//2、没有主要参数的表明载入的图片为初始规格;
//b、应用预加载的图片
Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(imageView);
12、监视 Glide 载入的情况
public void loadImage(View view) {
String url = \"https://cdn.d1wan.com/wp-content/uploads/2022/05/02/https://cdn.d1wan.com/wp-content/uploads/2022/05/20220502064308-626f7d7cc8c20.jpg\";
Glide.with(this)
.load(url)
.listener(new RequestListener<String, GlideDrawable>() {
@Override
public boolean onException(Exception e, String model, Target<GlideDrawable> target,
boolean isFirstResource) {
return false;
}
@Override
public boolean onResourceReady(GlideDrawable resource, String model,
Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
return false;
}
})
.into(imageView);
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。