Glide源码学习五:回调与监听
发布日期:2021-05-14 18:09:45 浏览次数:19 分类:精选文章

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

Glide���������������������������������������������������������������������������������������������������������������������������������������������������������������������Glide������������������������������������������������������������

������

������

  • 1. into()������
  • 2. ��������������� preload()
  • 3. ��������������� downloadOnly()
  • 4. listener()������������

1. into()������

������������

Glide.with(this).load(url).into(imageView);

���������Target

Glide���into()������������������������ImageView������������������������������Target���������

������

// ������������������SimpleTarget
SimpleTarget
simpleTarget = new SimpleTarget
() {
@Override
public void onResourceReady(Drawable resource, GlideAnimation glideAnimation) {
imageView.setImageDrawable(resource);
}
};
Glide.with(this)
.load("������������")
.into(simpleTarget);

2. ��������������� preload()

������

Glide.with(this)
.load(url)
.diskCacheStrategy(DiskCacheStrategy.SOURCE) // ���������������������������������
.preload();

������������

Glide������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������diskCacheStrategy���������������

3. ��������������� downloadOnly()

������������������������

class DownloadImageTask extends AsyncTask
{
@Override
protected File doInBackground(String... strings) {
String url = strings[0];
File imageFile = new File(
getExternalStorageDirectory().toString() + "/" + url
);
try {
FutureTarget
futureTarget = Glide.with(getBaseContext())
.load(url)
.downloadOnly(Target.SIZE_ORIGINAL, Target.SIZE_ORIGINAL);
return futureTarget.get();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}

���������������������Target���

public class MyDownloadTarget implements Target
{
@Override
public void onResourceReady(File file, GlideAnimation animation) {
// ������������
}
}

Glide������������������������������������������������������������������FutureTarget������������������������������������������������������

4. listener()������������

������������

Glide.with(this)
.load(url)
.listener(new RequestListener
() {
@Override
public boolean onResourceReady(Resource resource, String model,
Target
target, boolean isFromMemoryCache, boolean isFirstResource) {
// ���������������������������������������
return false;
}
@Override
public boolean onException(Exception e, String model,
Target
target, boolean isFirstResource) {
// ���������������������������������������
return false;
}
})
.into(imageView);

������������������RequestListener���������������������������������������������������������������������������������������������������������������������������������������������������������

������������

into()���������������������

Glide���������������������������������ImageView���setImageDrawable()���������������������������������onResourceReady������������������������������������

preload()���downloadOnly()���������������

������������������������������������������Target������PreloadTarget������������������������������������������������������

listener()���������������

Glide���GenericRequest������������������RequestListener������������������������������������������������������������������������

������

���������������������������������������Glide���������������������������������Target������������������������������������������������������������������������������������������������������������������������������������������������������������

上一篇:Glide源码学习六:图片变换
下一篇:OkHttp3源码解析--设计模式

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2025年04月21日 10时13分09秒