Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 可以在Fresco库中加载SVG吗?_Java_Android_Svg_Fresco - Fatal编程技术网

Java 可以在Fresco库中加载SVG吗?

Java 可以在Fresco库中加载SVG吗?,java,android,svg,fresco,Java,Android,Svg,Fresco,我使用的是一个修改过的版本,而不是 我将从RESTful服务器获取作为字符串的SVG。加载过程有点像: protected void bindEventAndShow(final View v, SimpleDraweeView targetImageView){ // ... // This URL is provided elsewhere, just putting it here for readability. String url = "http://fo

我使用的是一个修改过的版本,而不是

我将从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);
}
受保护的void bindEventAndShow(最终视图v,SimpleDraweView目标图像视图){
// ...
//这个URL是在别处提供的,只是为了可读性而放在这里。
字符串url=”http://foo.bar/resource";
ControllerListener ControllerListener=新的BaseControllerListener(){
//onFinalImageSet()、onIntermediateImageSet()、onFailure方法
}
抽屉控制器=Fresco.newDraineControllerBuilder().setControllerListener(控制器Listener)
.setImageRequest(ImageRequest.fromUri(url))
.build();
// ...
setHierarchy(层次结构);
targetImageView.setController(控制器);
}
当我提供一个带有
PNG
JPEG
的URL时,效果非常好。但是,如果URL返回一个
SVG
,那么它根本不起作用

我想知道是否可以将
SVG
String/文件直接加载到Fresco中。如果不能直接实现,如何实现


p.S.:我可以尝试将其转换为
PNG
JPG
,保存在磁盘上,然后再加载到滑块上,但我不确定这是否是最好的方法。

根据github存储库,它们不支持svg

您应该使用其他库,如glide

例如:


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


看看。

投票失败的原因?你试过Glide吗?我认为这篇文章可能会对你有所帮助。标记为已接受,因为Fresco并不真正支持SVG。使用Glide似乎是最好的方法。