是否可以在Fresco Lib上加载SVG?

时间:2016-02-29 13:59:44

标签: java android svg fresco

我使用this slider lib的修改版本,使用fresco lib代替Picasso

我从RESTful服务器获取SVG作为字符串。加载过程有点像:

protected void bindEventAndShow(final View v, SimpleDraweeView targetImageView){

    // ...

    // This URL is provided elsewhere, just putting it here for readability.
    String url = "http://foo.bar/resource";

    ControllerListener controllerListener = new BaseControllerListener<ImageInfo>() {
        // onFinalImageSet(), onIntermediateImageSet(), onFailure methods here
    }

    DraweeController controller = Fresco.newDraweeControllerBuilder().setControllerListener(controllerListener)
                        .setImageRequest(ImageRequest.fromUri(url))
                        .build();

    // ...

    targetImageView.setHierarchy(hierarchy);
    targetImageView.setController(controller);
}

当我提供包含PNGJPEG的网址时,它会产生奇迹。但是,如果网址返回SVG,则根本不起作用。

我想知道是否可以将SVG字符串/文件直接加载到Fresco中。如果不能直接进行,怎么办呢?

PS:我可以尝试将其转换为PNGJPG,将其保存在磁盘上,然后将其加载到滑块上,但是我可以不确定它是否是最佳方法。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

您仍然可以使用带有自定义SVG解码器的Fresco库使其工作。

看看this example here