我有一个应用程序,在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);
答案 0 :(得分:1)
好的,所以经过一些游戏我已经设法修复它。
出于某些原因,在Android 4.4上,svg图像必须存储在assets文件夹中(file:/// android_asset /)。在以前的Android版本中,可以将svgs存储在可绘制的文件夹中,但似乎不再是这种情况了。