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");

而已! 在获取网络图像之前,你应该看到占位符是可绘制的。