在毕加索中使用回调获取图像?

奥利弗·豪斯勒(Oliver Hausler)

我想显示一个照片系列,照片之间没有空隙,照片以固定的间隔变化。我意识到毕加索会在开始下载之前初始化ImageView,无论它是否在调用into()之前先获取()还是不获取,它都会这样做。

我使用fetch()来使图像之间的间隙较小,并使用.placeholder(R.color.black),但即使从内存中加载图像,该间隙仍然可见。

我的代码看起来像这样

Picasso.with(getContext()).load(url).fetch();

然后延迟[目前已解决,我想根据网络速度进行调整]

Picasso.with(getContext()).load(url).into(screenSurface);

我注意到fetch()不支持任何回调参数并返回void,因此似乎无法知道何时预热了缓存。

两个问题:

  1. 缓存图像时是否可以注意到我?
  2. 是否有其他方法可以消除图像之间的间断并使它们定期显示。

[我知道我可以用某种方式手动编码,但是如果Picasso支持,我想使用它。]

bmat

根据,看起来好像fetch什么都不做,包括通知任何潜在的听众。不幸的是,FetchAction它不是公共类,因此您也不能覆盖此功能。

您可以通过使用自定义Target子类来解决此问题,如下所示:

Picasso.with(getContext()).load(url).into(new Target() {
    @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
        // cache is now warmed up
    }
    @Override public void onBitmapFailed(Drawable errorDrawable) { }
    @Override public void onPrepareLoad(Drawable placeHolderDrawable) { }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用回调获取图像像素数据

来自分类Dev

在函数回调中使用回调

来自分类Dev

在Google Geocode中使用回调函数

来自分类Dev

在JavaScript类中使用回调

来自分类Dev

在Python中使用回调时出错

来自分类Dev

如何在phantomjs中使用回调

来自分类Dev

在Google Geocode中使用回调函数

来自分类Dev

在window.onload中使用回调

来自分类Dev

在 Cassandra 中使用回调函数

来自分类Dev

在 JavaScript 中使用回调的困惑

来自分类Dev

使用毕加索库获取位图图像

来自分类Dev

使用毕加索从URL获取图像

来自分类Dev

在Android中使用回调还是使用处理程序?

来自分类Dev

在 await 中使用外部函数并使用回调

来自分类Dev

使用回调将图像绘制到画布的Javascript

来自分类Dev

如何使用回调

来自分类Dev

如何在Codeigniter中使用回调函数

来自分类Dev

在node.js中使用回调的正确方法

来自分类Dev

在node.js中使用回调循环

来自分类Dev

这是在Swift中使用回调的正确方法吗?

来自分类Dev

在TypeScript中的Express中使用回调函数数组

来自分类Dev

在Wordpress中使用回调键传递参数

来自分类Dev

在cakephp中使用回调方法解密和加密

来自分类Dev

如何在ReactJS Hooks中使用回调函数

来自分类Dev

如何在暂停的协程流中使用回调?

来自分类Dev

无法在Google Maps脚本标签中使用回调

来自分类Dev

如何在Codeigniter中使用回调函数

来自分类Dev

在TypeScript中的Express中使用回调函数数组

来自分类Dev

如何结束在Matlab中使用回调的函数?