在一个页面中的H5使用SVG进行绘图,但是在VIVO和OPPO手机都无法显示,最后网上查了一堆资料,各种Settings设置,但是还是不显示,感觉还是SVG兼容性问题,OPPO和VIVO room做的也差。最后选择了使用腾讯X5服务webview浏览器。
腾讯X5对相当于优化了安卓浏览器内核,对SVG适配,视频播放,文件显示都做了适配,所以除了普通的网页加载,还可以进行一些其他功能的拓展开发。
使用过程:
1. 在官网下载sdk,导入jar包 和so文件,注意一定要导入so文件
2. 权限申请
<!-- 申请腾讯X5所需权限 --> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
3.X5 WebView 使用
<com.tencent.smtt.sdk.WebView android:id="@+id/tencent_webview" android:layout_width="match_parent" android:layout_height="match_parent" />
WebView一定是com.tencent.xxx的路径
代码使用
tencent_webview = (WebView) findViewById(R.id.tencent_webview); tencent_webview.loadUrl(url); WebSettings webSettings = tencent_webview.getSettings(); webSettings.setJavaScriptEnabled(true); tencent_webview.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); return true; } });WebView 的settings 和 WebViewClient 都是 com.tencent.xxx 路径下的,再使用WebView加载各种东西的时候就不很少出现兼容性问题了。
欢迎扫码关注公众号,每天定点推送优质技术文章