我使用Fresco将GIF加载到RecyclerView中的SimpleDraweeViews中。
我想在下载GIF时首先加载静态缩略图,然后在GIF可用时立即加载。
它正在工作,但是当缩放交换为GIF时会出现白色闪烁。有没有办法避免它?
将fadeDuration设置为0并没有帮助。我可以在缓存GIF时跳过缩略图,但我最好在所有情况下避免闪烁。
视图很简单:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/gif_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
并且代码似乎也很简单:
DraweeController controller = Fresco.newDraweeControllerBuilder()
.setLowResImageRequest(ImageRequest.fromUri(thumbnailUrl))
.setUri(contentUrl)
.setAutoPlayAnimations(true)
.setOldController(draweeView.getController()).build();
draweeView.setController(controller);
这里有一段视频:https://www.dropbox.com/s/vkyqltm1hrrnvaz/gifFlicker.m4v?dl=0
它使用此GIF:http://www.furrytalk.com/wp-content/uploads/2015/01/kitten.gif
谢谢!
答案 0 :(得分:0)
您可以使用此处说明的RetainingDataSourceSubscriber
:
https://github.com/facebook/fresco/pull/1328