Fresco 图片请求库(工具类)

Fresco文档:

http://fresco-cn.org/docs/supported-uris.html#_

这是SimpleDraweeView 的各种属性:
        现在介绍一些fresco的属性,通过这些属性我们可以很方便的定制一些效果

        <com.facebook.drawee.view.SimpleDraweeView
            android:id="@+id/my_image_view"
            android:layout_width="20dp"   // 不支持wrap_content 如果要设置宽高比, 需要在Java代码中指定setAspectRatio(1.33f);
            android:layout_height="20dp"    // 不支持wrap_content 
            fresco:fadeDuration="300"
            fresco:actualImageScaleType="focusCrop"
         // 设置图片缩放. 通常使用focusCrop,该属性值会通过算法把人头像放在中间
            fresco:placeholderImage="@color/wait_color"
         // 下载成功之前显示的图片
            fresco:placeholderImageScaleType="fitCenter"

            fresco:failureImage="@drawable/error"
        // 加载失败的时候显示的图片
            fresco:failureImageScaleType="centerInside"
            fresco:retryImage="@drawable/retrying"
        // 加载失败,提示用户点击重新加载的图片(会覆盖failureImage的图片)
            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"
        // 圆角角度,180的时候会变成圆形图片
            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"
          />

这里简单的封装一个工具类:

import android.content.Context;
import android.net.Uri;
import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.interfaces.DraweeController;
import com.facebook.drawee.view.SimpleDraweeView;
/**
 *Fresco 图片加载框架封装工具类  需要添加Fresco library 
 *<br> 有冲突需要删除jar包
 *<br>fresco 中文翻译:http://fresco-cn.org/docs/supported-uris.html#_
 */
public class FrescoUtils {
    private static FrescoUtils instance;
    public static FrescoUtils getInstance(){
        if(instance==null){
            instance=new FrescoUtils();
        }
        return instance;
    }
    /**
     * 初始化(建议在application)
     * @param context
     */
    public static InitializeFresco(Context context){
        Fresco.initialize(context);
    }
    /**
     *  通过URI加载普通图片
     * @param simpledraweeview
     * @param uri
     */
    public void LoadWithUrl(SimpleDraweeView simpledraweeview,Uri uri){
        simpledraweeview.setImageURI(uri);
    }
    /**
     *  通过URI 加载GIF图片
     * @param simpledraweeview
     * @param uri
     */
    public void LoadGif(SimpleDraweeView simpledraweeview,Uri uri){
        DraweeController controller=Fresco.newDraweeControllerBuilder()
                .setUri(uri)
                .setAutoPlayAnimations(true)
                .build();
        simpledraweeview.setController(controller);
    }
    //  修改图片尺寸
    //  Uri uri = "file:///mnt/sdcard/MyApp/myfile.jpg";
    //  int width = 50, height = 50;
    //  ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
    //      .setResizeOptions(new ResizeOptions(width, height))
    //      .build();
    //  PipelineDraweeController controller = Fresco.newDraweeControllerBuilder()
    //      .setOldController(mDraweeView.getController())
    //      .setImageRequest(request)
    //      .build();
    //  mSimpleDraweeView.setController(controller);
    //
    //
    //  自动旋转
    //  ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
    //      .setAutoRotateEnabled(true)
    //      .build();
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值