2016-09-14 33 views
0

我試圖用相同的 取代多個圖像(從本地存儲) 經過一段時間後,黑色閃爍消失,效果很好。SimpleDraweeView黑色filckering更換圖像與壁畫

查看視頻:http://sendvid.com/q92ry52l

我只是做:mSimpleDraweeView.setImageURI("file://" + imagesList.get(index));

XML代碼:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <com.facebook.drawee.view.SimpleDraweeView 
     android:id="@+id/fresco_image_view" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerHorizontal="true"/> 
</RelativeLayout> 

我使用 'com.facebook.fresco:壁畫:0.13.0'

SimpleDraweeView。如何避免黑色閃爍?

感謝

回答

1

full discussion here

不幸的是,這是一個已知的問題。如果您設置了新的URI,您將看到佔位符圖像,直到新圖像準備就緒。當你有大的圖像時,這一點尤其明顯,並且你將它們切換了很多(例如你的例子)。

我們將在未來某個時候解決此問題(請參閱此pull request)。 現在,您可以手動從上述牽拉請求RetainingDataSourceSupplier執行復制到項目,並用它類似於MainActivity.java例如:

PipelineDraweeControllerBuilder builder = Fresco.newDraweeControllerBuilder()... 
builder.setDataSourceSupplier(retainingDataSourceSupplier); 
draweeView.setController(builder.build());