1.添加依赖:
compile 'com.facebook.fresco:imagepipeline-okhttp3:0.14.1'
compile 'com.facebook.fresco:fresco:0.14.1'
下面的依赖需要根据需求添加:
dependencies {
// 在 API < 14 上的机器支持 WebP 时,需要添加
compile 'com.facebook.fresco:animated-base-support:0.12.0'
// 支持 GIF 动图,需要添加
compile 'com.facebook.fresco:animated-gif:0.12.0'
// 支持 WebP (静态图+动图),需要添加
compile 'com.facebook.fresco:animated-webp:0.12.0'
compile 'com.facebook.fresco:webpsupport:0.12.0'
// 仅支持 WebP 静态图,需要添加
compile 'com.facebook.fresco:webpsupport:0.12.0'
}
2.初始化Fresco类:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
//fresco初始化
Fresco.initialize(this, ImagePipelineConfigFactory.getOkHttpImagePipelineConfig(this));
BigImageViewer.initialize(FrescoImageLoader.with(this));
}
}
3.在 AndroidManifest.xml声明网络请求的权限:
<manifest
...
>
<uses-permission android:name="android.permission.INTERNET" />
<application
...
android:label="@string/app_name"
android:name=".MyApplication"
>
...
</application>
...
</manifest>
4.在xml布局文件中, 加入命名空间:
<!-- 其他元素-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:fresco="http://schemas.android.com/apk/res-auto"
android:layout_height="match_parent"
android:layout_width="match_parent">
5.引入SimpleDraweeView:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="130dp"
android:layout_height="130dp"
fresco:placeholderImage="@drawable/my_drawable"
/>
6.开始加载图片:
String url ="https://raw.githubusercontent.com/facebook/fresco/gh-pages/static/logo.png"
SimpleDraweeView draweeView = (SimpleDraweeView) findViewById(R.id.my_image_view);
draweeView.setImageURI(url );
注:在项目中用SimpleDraweeView加载的网络图片有部分会显示不出来,使用Glide替换后达到预期,目前不清楚什么原因导致,后期了解了会在评论中写出