首先当然还是导入依赖包
compile 'com.facebook.fresco:fresco:1.5.0'
加载图片之前,你必须初始化Fresco类。你只需要调用Fresco.initialize一次即可完成初始化,在 Application 里面做这件事再适合不过了(如下面的代码),注意多次的调用初始化是无意义的。记着注册
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
组件使用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"
/>
其中可以定义的属性多种多样例如
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="20dp"
android:layout_height="20dp"
fresco:fadeDuration="300"
fresco:actualImageScaleType="focusCrop"
fresco:placeholderImage="@color/wait_color"
fresco:placeholderImageScaleType="fitCenter"
fresco:failureImage="@drawable/error"
fresco:failureImageScaleType="centerInside"
fresco:retryImage="@drawable/retrying"
fresco:retryImageScaleType="centerCrop"
fresco:progressBarImage="@drawable/progress_bar"
fresco:progressBarImageScaleType="centerInside"
fresco:progressBarAutoRotateInterval="1000"
fresco:backgroundImage="@color/blue"
fresco:overlayImage="@drawable/watermark"
fresco:pressedStateOverlayImage="@color/red"
fresco:roundAsCircle="false"
fresco:roundedCornerRadius="1dp"
fresco:roundTopLeft="true"
fresco:roundTopRight="false"
fresco:roundBottomLeft="false"
fresco:roundBottomRight="true"
fresco:roundWithOverlayColor="@color/corner_color"
fresco:roundingBorderWidth="2dp"
fresco:roundingBorderColor="@color/border_color"
/>
最后就是调用了
myViewHolder.iv.setImageURI("http://img.gank.io/fef497ed-83ba-46f6-8a94-0e7b724e1c10");
还有就是动图,导入依赖
compile 'com.facebook.fresco:animated-gif:1.5.0'
初始化和上面的一样,别忘注册
然后是布局
<com.facebook.drawee.view.SimpleDraweeView
fresco:placeholderImage="@mipmap/ic_launcher"
fresco:fadeDuration="5000"
fresco:failureImage="@mipmap/ic_launcher"
android:layout_width="150dp"
android:layout_height="150dp"
android:id="@+id/iv"/>
5000是多少秒后播放
最后是调用
String s = list.get(position);
Uri uri = Uri.parse(s);
DraweeController draweeController = Fresco.newDraweeControllerBuilder()
.setUri(uri)
.setAutoPlayAnimations(true) // 设置加载图片完成后是否直接进行播放
.build();
myViewHolder.iv.setController(draweeController);
s是动图的网址
以上就是freco的简单的应用