1,添加依赖
// Fresco所需依赖 implementation 'com.facebook.fresco:fresco:0.12.0' // 在 API < 14 上的机器支持 WebP 时,需要添加 implementation 'com.facebook.fresco:animated-base-support:0.12.0' // 支持 GIF 动图,需要添加 implementation 'com.facebook.fresco:animated-gif:0.12.0' // 支持 WebP (静态图+动图),需要添加 implementation 'com.facebook.fresco:animated-webp:0.12.0' implementation 'com.facebook.fresco:webpsupport:0.12.0'
2,AndroidManifest添加
android:name="xinjishu.com.类名"
3,注册
public class 类名 extends Application { @Override public void onCreate() { super.onCreate(); // 初始化Fresco Fresco.initialize(this); } }
4,使用
private SimpleDraweeView sdv; sdv = (SimpleDraweeView) findViewById(R.id.id_main_sdv_sdv); sdv.setImageURI(“url”)
5,xml文件
<com.facebook.drawee.view.SimpleDraweeView android:layout_width="20dp" android:layout_height="20dp" fresco:fadeDuration="300" // 淡出时间,毫秒。 fresco:actualImageScaleType="focusCrop" // 等同于android:scaleType。 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" // 背景图,不会被View遮挡。 fresco:roundAsCircle="false" // 是否是圆形图片。 fresco:roundedCornerRadius="1dp" // 四角圆角度数,如果是圆形图片,这个属性被忽略。 fresco:roundTopLeft="true" // 左上角是否圆角。 fresco:roundTopRight="false" // 右上角是否圆角。 fresco:roundBottomLeft="false" // 左下角是否圆角。 fresco:roundBottomRight="true" // 左下角是否圆角。 fresco:roundingBorderWidth="2dp" // 描边的宽度。 fresco:roundingBorderColor="@color/border_color" 描边的颜色。 />