在Android使用Fresco注意与工具类

来源:互联网 发布:js获取下一天的日期 编辑:程序博客网 时间:2024/06/05 08:58

Fresco

Fresco中文网

Gradle

compile 'com.facebook.fresco:fresco:0.12.0'

注意

在列表中直接使用setImageURI会出现页面卡顿和图片显示不全或出现纯白色、纯黑色的问题。

FrescoUtils

/** * Created by LiangMaYong on 2016/8/22. */public class FrescoUtils {    private static boolean isInit = false;    /**     * showThumb     *     * @param draweeView     draweeView     * @param url            url     * @param resizeWidthDp  resizeWidth     * @param resizeHeightDp resizeHeight     */    public static void showThumb(SimpleDraweeView draweeView, String url, int resizeWidthDp, int resizeHeightDp) {        if (url == null || "".equals(url))            return;        if (draweeView == null)            return;        initialize(draweeView.getContext());        ImageRequest request = ImageRequestBuilder.newBuilderWithSource(Uri.parse(url))                .setResizeOptions(new ResizeOptions(DimenUtils.dip2px(draweeView.getContext(), resizeWidthDp), DimenUtils.dip2px(draweeView.getContext(), resizeHeightDp)))                .build();        DraweeController controller = Fresco.newDraweeControllerBuilder()                .setImageRequest(request)                .setOldController(draweeView.getController())                .setControllerListener(new BaseControllerListener<ImageInfo>())                .build();        draweeView.setController(controller);    }    /**     * initialize     *     * @param context context     */    public static void initialize(Context context) {        if (isInit)            return;        ImagePipelineConfig config = ImagePipelineConfig.newBuilder(context)                .setDownsampleEnabled(true)                .build();        Fresco.initialize(context, config);        isInit = true;    }}
0 0
原创粉丝点击