.svg 文件作为 HTML 中的对象未显示在 Android WebVIew 中

Posted

技术标签:

【中文标题】.svg 文件作为 HTML 中的对象未显示在 Android WebVIew 中【英文标题】:.svg file as object in HTML not displayed in Android WebVIew 【发布时间】:2014-12-10 17:50:19 【问题描述】:

我的应用有一个能够加载 .svg 文件的 WebView 控件:当 url 是 .svg 文件时,它会正确显示。

我修改了代码不直接加载 .svg 文件,所以我必须调用类似的东西

webView.loadDataWithBaseURL(baseUrl,"<html><body><object data='cover.svg'></object></body></html>","text/html", "UTF-8","");

上述代码适用于图像,但不适用于 svg 文件。

带有上述 HTML 参数字符串的 HTML 文件作为 HTML 代码在 Firefox(在 Linux 下)中正确显示及其 svg 对象。

该对象始终加载与 WebView/浏览器兼容的文件。

我希望我的代码能够处理可以放置在对象中的各种 WebView/浏览器兼容文件。

我的代码有什么问题?

【问题讨论】:

@Manjunath Siddappa 它也不起作用,但请注意,我最初的目标是处理各种可能的对象,不仅是图像和 svg 【参考方案1】:

这适用于各种格式:

webView.loadDataWithBaseURL(baseUrl,"<html><body><object onload='event.target.style.minWidth=screen.width;event.target.style.minHeight=screen.height;' data='cover.svg'></object></body></html>","text/html", "UTF-8","");

【讨论】:

【参考方案2】:

要使用对象元素添加 SVG,请编写如下链接的标记

http://alistapart.com/article/using-svg-for-flexible-scalable-and-fun-backgrounds-part-ii

  <object type="image/svg+xml" 
      style="float:right" 
    data="http://blog.codedread.com/clipart/apple.svgz">
  <span/></object>

【讨论】:

以上是关于.svg 文件作为 HTML 中的对象未显示在 Android WebVIew 中的主要内容,如果未能解决你的问题,请参考以下文章

SVG 图像未显示在 html 电子邮件中

SVG 符号未在 Firefox 中显示

CSS背景中的SVG未显示在Safari中

我们可以在Android中使用SVG文件作为通知图标吗

元素未显示并且:悬停在.svg上不起作用[重复]

如何在SVG中使用对话框