我使用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);
}
当我提供包含PNG
或JPEG
的网址时,它会产生奇迹。但是,如果网址返回SVG
,则根本不起作用。
我想知道是否可以将SVG
字符串/文件直接加载到Fresco中。如果不能直接进行,怎么办呢?
PS:我可以尝试将其转换为PNG
或JPG
,将其保存在磁盘上,然后将其加载到滑块上,但是我可以不确定它是否是最佳方法。
答案 0 :(得分:2)
使用github存储库,他们不支持svg。
https://github.com/facebook/fresco/issues/1008
https://github.com/facebook/fresco/issues/329
您应该使用滑翔等其他库。
https://github.com/bumptech/glide
一个例子:
答案 1 :(得分:0)
您仍然可以使用带有自定义SVG解码器的Fresco库使其工作。