Cri*_*unu 7 android image fresco
我正在使用壁画来显示一个GIF RecyclerView.在用户点击了图像后,我打开了一个详细信息屏幕,最后我应该显示一个高分辨率的GIF.
如果我只是加载另一个GIF,DraweeView内容将消失,因为这是Fresco的工作方式,用户将看到黑色图像,而高分辨率加载,虽然我已经有一个低质量的预览可用.
我也尝试使用低分辨率/高分辨率方案,但在加载高分辨率图像时,低分辨率不是动画.
后来我RetainingDataSourceSupplier在Fresco中发现了它,它通过将当前图像保持在一个DraweeView直到加载新图像的方式工作.这工作正常但它似乎不适用于动画内容.
你可以帮我保留当前的动画内容,直到下载高质量的内容吗?
我最终重写了壁画的一些部分。基本上,RetainingDataSource就是破解 的实现DataSource,永远保持它的状态PROGRESS。这意味着当新资源放入其中时,控制器永远不会收到通知,DataSource并且永远无法播放 GIF。
我通过修改 fresco lib 代码并在每次加载资源后通知控制器来解决这个问题。我已经对 fresco 做了 PR,也许他们会同意这些更改,因为我认为这些更改RetainingDataSource不完整。
您可以在这里查看 PR:
使用 RetainingDataSource 时对 GIF 的正确支持
| 归档时间: |
|
| 查看次数: |
158 次 |
| 最近记录: |