FrescoUtils.java 1.66 KB
package com.cnlive.goldenline.util;

import android.net.Uri;
import android.support.annotation.NonNull;

import com.facebook.drawee.backends.pipeline.Fresco;
import com.facebook.drawee.backends.pipeline.PipelineDraweeController;
import com.facebook.drawee.view.DraweeView;
import com.facebook.imagepipeline.common.ResizeOptions;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;

/**
 * Created by caominyan on 16/3/28.
 */
public class FrescoUtils {


    public static void setImageNetworkResource(@NonNull DraweeView draweeView, Uri uri) {
        setImageNetworkResource(draweeView, uri, 0, 0);
    }

    /**
     * 根据指定大小缩略压缩图片并展示在指定大小的ImageView中
     *
     * @param draweeView
     * @param width
     * @param height
     */
    public static void setImageNetworkResource(@NonNull DraweeView draweeView, Uri uri, int width, int height) {
        ImageRequest request = null;
        if (width > 0 && height > 0) {
            ResizeOptions options = new ResizeOptions(width, height);
            request = ImageRequestBuilder.newBuilderWithSource(uri)
                    .setResizeOptions(options)
                    .build();
        } else {
            request = ImageRequestBuilder.newBuilderWithSource(uri)
                    .build();
        }
        PipelineDraweeController pipelineDraweeController = (PipelineDraweeController) Fresco.newDraweeControllerBuilder()
                .setOldController(draweeView.getController())
                .setImageRequest(request)
                .build();
        draweeView.setController(pipelineDraweeController);
    }

}