// 其他依赖 compile 'com.facebook.fresco:fresco:0.12.0' // 在 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'
<RelativeLayout 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"> <com.facebook.drawee.view.SimpleDraweeView android:id="@+id/sdv" android:layout_width="200dp" android:layout_height="200dp" android:layout_centerInParent="true" fresco:actualImageScaleType="centerCrop" fresco:backgroundImage="@mipmap/ic_launcher" fresco:fadeDuration="3000" fresco:failureImage="@mipmap/ic_launcher_round" fresco:placeholderImage="@mipmap/ic_launcher" fresco:placeholderImageScaleType="centerCrop" fresco:failureImageScaleType="centerCrop" fresco:retryImageScaleType="centerCrop" fresco:progressBarImageScaleType="centerCrop" fresco:pressedStateOverlayImage="@mipmap/ic_launcher" fresco:progressBarImage="@mipmap/ic_launcher" fresco:progressBarAutoRotateInterval="1000" fresco:roundAsCircle="true" fresco:roundedCornerRadius="10dp" fresco:roundTopLeft="true" fresco:roundTopRight="true" fresco:roundBottomLeft="true" fresco:roundBottomRight="true" fresco:roundingBorderWidth="2dp" /> </RelativeLayout>
Appliation
Fresco.initialize(this);
Uri uri = Uri.parse("https://m.360buyimg.cqweom/n0/jfs/t6130/97/1370670410/180682/1109582a/593276b1Nd81fe723.jpg!q70.jpg"); SimpleDraweeView sdv = (SimpleDraweeView) findViewById(R.id.sdv); sdv.setImageURI(uri); DraweeController build = Fresco.newDraweeControllerBuilder() .setUri(uri) .setOldController(sdv.getController()) .setTapToRetryEnabled(true).build(); sdv.setController(build);