Jira REST API
的网址为this,网址末尾没有SVG
分机或文件名。
在浏览器中打开时,会显示图像
我想在ImageView
中显示图像,但这似乎不是来自服务器的文件路径。
我已经研究过如何从ImageView
here向drawables
展示SVG,但没有关于从这些类型的网址加载的信息。
我正在使用Volley
(如果重要的话)。
当我在Chrome中检查元素并看到Network > Response tab
时,我可以看到Content-Type:image/svg+xml;charset=UTF-8
。
如何在ImageView中使用此类型的URL实现显示图像?
答案 0 :(得分:2)
ImageView只接受Bitmaps或VectorDrawables 即使VectorDrawable从它下降,SVG也不是两者之一。
如果您不想使用外部库将SVG转换为Bitmap,那么我建议您使用WebView来显示它
或者,您可能希望使用免费的在线工具将SVG转换为VectorDrawable。
答案 1 :(得分:0)
kotlin + 线圈
添加依赖:
//Coil (https://github.com/coil-kt/coil)
implementation("io.coil-kt:coil:1.2.0")
implementation("io.coil-kt:coil-svg:1.2.0")
将此函数添加到您的代码中:
fun ImageView.loadSvg(url: String) {
val imageLoader = ImageLoader.Builder(this.context)
.componentRegistry { add(SvgDecoder(this@loadSvg.context)) }
.build()
val request = ImageRequest.Builder(this.context)
.crossfade(true)
.crossfade(500)
.placeholder(R.drawable.placeholder)
.error(R.drawable.error)
.data(url)
.target(this)
.build()
imageLoader.enqueue(request)
}
然后在您的活动或片段中调用此方法:
imageView.loadSvg("your_file_name.svg")
// OR imageView.loadSvg(url)