AndroidWebview中的动态SVG无法工作
创始人
2024-10-12 04:31:28
0

由于Android WebView默认不支持SMIL动画,因此要使动态SVG在Android WebView中正常工作,可以通过添加对WebSettings的设置来实现。

示例代码:

WebView webView = findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);
webView.getSettings().setBuiltInZoomControls(true);
webView.getSettings().setDisplayZoomControls(false);
webView.getSettings().setSupportZoom(true);
webView.setWebViewClient(new WebViewClient() {
   @Override
   public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        view.evaluateJavascript("javascript:(function() {" +
                "var style = document.createElement('style');" +
                "style.innerHTML = '@import url(\"https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.2/animate.min.css\");';" +
                "document.head.appendChild(style);" +
                "})();", null);
    }
});

在这个示例中,我们添加了以下设置:

webView.getSettings().setAllowFileAccessFromFileURLs(true);
webView.getSettings().setAllowUniversalAccessFromFileURLs(true);
webView.getSettings().setAllowContentAccess(true);
webView.getSettings().setMediaPlaybackRequiresUserGesture(false);

这将允许本地SVG文件在WebView内正常工作。此外,我们利用了evaluateJavascript()函数在WebView加载完毕后执行一段JavaScript代码,以导入外部的CSS动画库。

请注意,这个解决方法可能无法支持所有类型的SMIL动画,因此你应该测试并确保你的动画在WebView中正常工作。

相关内容

热门资讯

透视安卓版"wepo... 1、透视安卓版"wepokerplus万能挂"详细辅助透明教程(俱乐部辅助器透视)。2、wepoke...
透视黑科技"hhpo... 透视黑科技"hhpoker是内部控制吗"详细辅助解说技巧(透视脚本下载攻略);hhpoker是内部控...
透视黑科技"wepo... 透视黑科技"wepoker轻量版透视方法"详细辅助详细教程(透视脚本免费app攻略)准备好在wepo...
透视了解"aapok... 1、透视了解"aapoker俱乐部靠谱吗"详细辅助透明挂教程(辅助脚本攻略)2、进入游戏-大厅左侧-...
透视了解"hhpok... 透视了解"hhpoker透视方法"详细辅助揭秘攻略(可以挂底牌技巧)1、点击下载安装,微扑克wpk插...
透视app"约局吧开... 透视app"约局吧开挂神器是真的吗"详细辅助第三方教程(有透视方法技巧);最新版2024是一款经典耐...
透视了解"wepok... 透视了解"wepoker私人局俱乐部怎么进"详细辅助爆料教程(有挂神器);实战中需综合运用上述技巧,...
透视软件"wepok... 透视软件"wepoker私人局外卦"详细辅助AI教程(正确养号方法技巧)是一款可以让一直输的玩家,快...
透视脚本"we po... 透视脚本"we poker辅助器v3.3"详细辅助安装教程(辅助器激活码透视)准备好在we poke...
透视插件"德州透视脚... 透视插件"德州透视脚本"详细辅助存在挂教程(透视挂底牌攻略);科技安装教程;136704302。相信...