【问题标题】:Android 4.4 Kitkat Won't Show SVGs in WebViewAndroid 4.4 Kitkat 不会在 WebView 中显示 SVG
【发布时间】:2014-08-14 03:56:52
【问题描述】:

我有一个在 WebView 中显示全屏 svg 图像的应用程序。在我的 Android 4.2 测试设备和模拟器中一切正常。但是在 Android 4.4 中,svg 图像只是显示为损坏的图像。

有没有人能解决这个问题或者知道为什么会这样?谢谢。

    browser=(ClickableWebView)view.findViewById(R.id.my_browser);
    browser.setWebViewClient(new WebViewClient());
    browser.getSettings().setBuiltInZoomControls(true);
    browser.getSettings().setRenderPriority(RenderPriority.HIGH);
    browser.getSettings().setDisplayZoomControls(false);
    browser.getSettings().setLoadWithOverviewMode(true);
    browser.getSettings().setJavaScriptEnabled(true); 

    url = "<html><body style=\"margin: 0; padding: 0 \"><table align=\"center\"   cellpadding=0 cellspacing=0 style=\"height:100%; width:100%; \"><tr><td align=\"center\" style=\"vertical-align:middle;\"><img src=\"file:///android_res/drawable/" + filename + ".svg\" height=\"" + height + "\"/><br><font size=\"0\">.</font></td></tr></table></body></html>";

    browser.loadDataWithBaseURL(url, url, "text/html", Encoding.UTF_8.toString(), url);

【问题讨论】:

  • 这不是你的问题和答案吗? stackoverflow.com/questions/18356098/…
  • 并非如此。我没有使用 svg 解析器,只是一个 webview 来显示 svg,就像你使用 jpg 或 png 一样。无论如何我尝试在 webview 上禁用硬件加速,但它对问题没有影响。

标签: android svg webview


【解决方案1】:

好吧,在玩了一些之后,我设法修复了它。

出于某种原因,在 Android 4.4 上,svg 图像必须存储在 assets 文件夹 (file:///android_asset/) 中。在以前的 Android 版本中,可以将 svg 存储在可绘制文件夹中,但似乎不再是这种情况了。

【讨论】:

  • 我花了几个小时搜索我的图标没有出现在我的 WebView 中的原因。我到处找。然后我找到了这个简短的答案,获得了 0 票。谢谢你,你帮了我很多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多