Java 可以在Fresco库中加载SVG吗?
我使用的是一个修改过的版本,而不是 我将从RESTful服务器获取作为字符串的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
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似乎是最好的方法。