Android 4.4 Kitkat不会在WebView中显示SVG

时间:2014-06-24 02:07:27

标签: android svg webview

我有一个应用程序,在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);

1 个答案:

答案 0 :(得分:1)

好的,所以经过一些游戏我已经设法修复它。

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