天天看點

圖檔加載Fresco

wrap_content問題

在XML中使用Drawees,必須設定layout width和layout height,否則圖檔無法正常顯示。Drawees 不支援 

wrap_content

 屬性。但是如果是設定固定的寬高比,可以使用wrap_content,比如寬高比例是4:3,然後在代碼中設定mSimpleDraweeView.setAspectRatio(1.33f);

setHierarchy優化問題

對于同一個View,請不要多次調用

setHierarchy

,即使這個View是可回收的。建立 DraweeHierarchy 的較為耗時的一個過程,應該多次利用。

加載顯示圖檔

SimpleDraweeView

 有兩個方法可以設定所要加載顯示圖檔,簡單的方法就是

setImageURI

。如果你需要對加載顯示的圖檔做更多的控制和定制,那就需要用到DraweeController。

方法一

 Collapse source

1

mSimpleDraweeView.setImageURI(uri);

方法二

 Collapse source

1 2 3 4 5 6 7 8

DraweeController controller = Fresco.newDraweeControllerBuilder()

.setUri(uri)

.setTapToRetryEnabled(

true

)

.setOldController(mSimpleDraweeView.getController())

.setControllerListener(listener)

.build();

mSimpleDraweeView.setController(controller)

學習連結:

https://github.com/facebook/fresco

http://fresco-cn.org/docs/using-controllerbuilder.html#_

繼續閱讀