Fresco 入門

首先,將 Fresco 新增到你的 build.gradle,如備註部分所示:

如果你需要其他功能,例如動畫 GIF 或 WebP 支援,你還必須新增相應的 Fresco 工件

壁畫需要初始化。你應該這樣做一次,所以把初始化放在你的 Application 是個好主意。一個例子是:

public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        Fresco.initialize(this);
    }
}

如果要從伺服器載入遠端影象,則應用程式需要 internt 許可權。只需將其新增到你的 AndroidManifest.xml

<uses-permission android:name="android.permission.INTERNET" />

然後,將 SimpleDraweeView 新增到 XML 佈局中。Fresco 不支援 wrap_content 用於影象尺寸,因為你可能有多個具有不同尺寸的影象(佔位符影象,錯誤影象,實際影象……)。

所以你可以新增一個固定尺寸的 SimpleDraweeView(或 match_parent):

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/my_image_view"
    android:layout_width="120dp"
    android:layout_height="120dp"
    fresco:placeholderImage="@drawable/placeholder" />

或者為影象提供寬高比

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/my_image_view"
    android:layout_width="120dp"
    android:layout_height="wrap_content"
    fresco:viewAspectRatio="1.33"
    fresco:placeholderImage="@drawable/placeholder" />

最後,你可以在 Java 中設定影象 URI:

SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI("http://yourdomain.com/yourimage.jpg");

而已! 在獲取網路影象之前,你應該看到佔位符是可繪製的。