博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android新版Glide的RequestManager加载管理器
阅读量:7235 次
发布时间:2019-06-29

本文共 2422 字,大约阅读时间需要 8 分钟。

Android新版Glide的RequestManager加载管理器

使用Glide加载图片,load完后,通过into就可以把图片放到ImageView里面。但是有时候可能只是想加载一张原始的图片资源File,至于如何放到,什么时候放,开发者想自己控制,那么可以使用Glide提供的RequestManager中onResourceReady,RequestManager的onResourceReady提供一个回调接口,在这里可以拿到通过Glide加载到的图片资源原始文件,通过给RequestManager注册一个RequestListener加载监听器,就可以拿到Glide加载的图片,然后进一步做什么样的处理,开发者可以自行决定。此时,Glide就演变成一个类似OkHttp一样的网络加载框架,只用来加载资源而已,例如:

package zhangphil.test;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;import com.bumptech.glide.Glide;import com.bumptech.glide.RequestBuilder;import com.bumptech.glide.RequestManager;import com.bumptech.glide.load.DataSource;import com.bumptech.glide.load.engine.GlideException;import com.bumptech.glide.request.RequestListener;import com.bumptech.glide.request.target.Target;import java.io.File;import java.io.FileInputStream;public class GlideActivity extends AppCompatActivity {    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_glide);        String url = "https://avatar.csdn.net/9/7/A/3_zhangphil.jpg";        ImageView image = findViewById(R.id.image);        RequestManager mRequestManager = Glide.with(this);        RequestBuilder
mRequestBuilder = mRequestManager.downloadOnly(); mRequestBuilder.load(url); mRequestBuilder.listener(new RequestListener
() { @Override public boolean onLoadFailed(@Nullable GlideException e, Object model, Target
target, boolean isFirstResource) { return false; } @Override public boolean onResourceReady(File resource, Object model, Target
target, DataSource dataSource, boolean isFirstResource) { try { FileInputStream fis = new FileInputStream(resource); Bitmap bmp = BitmapFactory.decodeStream(fis); image.setImageBitmap(bmp); } catch (Exception e) { e.printStackTrace(); } return false; } }); mRequestBuilder.preload(); }}

记得添加网络权限:

在onResourceReady中拿到的

File resource

即是通过Glide加载出来的原始图片资源。

转载地址:http://rrlfm.baihongyu.com/

你可能感兴趣的文章
SQL SERVER 中is null 和 is not null 将会导致索引失效吗?
查看>>
CentOS 7.0安装配置LAMP服务器(Apache+PHP+MariaDB)
查看>>
HDOJ 2045 不容易系列之(3)—— LELE的RPG难题
查看>>
Mysql学习笔记(八)索引
查看>>
初探Java8中的HashMap(转)
查看>>
第一章(2)——预估和实际执行计划
查看>>
0324alter system checkpoing会写脏块吗
查看>>
使用GDB进行嵌入式远程调试
查看>>
文件剪切的sh脚本实现
查看>>
我的Android进阶之旅------>Android中Dialog系统样式讲解
查看>>
ffmpeg avpicture_fill的一些使用
查看>>
hisi出的H264码流结构
查看>>
linux 读取物理寄存器
查看>>
信息科技时代-睿云智合Wise2C再次领航容器技术创新
查看>>
机器学习-监督学习-线性回归
查看>>
Linux c 目录操作函数scandir
查看>>
如何判断Javascript对象是否存在
查看>>
背水一战 Windows 10 (40) - 控件(导航类): AppBar, CommandBar
查看>>
SHOW_SPACE
查看>>
javascript如何设置DIV背景色为随机色
查看>>