一、问题:在顶部或者底部反复快速滑动界面,会出现自动向反方向滚动,或者视频有声音没有画面。
解决:在AndroidManifest.xml中给webview所在的activity添加硬件加速的属性:android:hardwareAccelerated="true"。
说明:1、view控件不能开启硬件加速(webView.setLayerType(View.LAYER_TYPE_HARDWARE,null);这个设置无效),但是view控件可以关闭该view的硬件加速:webView.setLayerType(View.LAYER_TYPE_SOFTWARE,null);
2、setLayerType方法只有在api>11才有。
3、参考网址:https://blog.csdn.net/u010142437/article/details/70915694
二、webview的设置
WebSettings webSettings=webView.getSettings();
webSettings.setUseWideViewPort(true);//设置WebView是应该启用对“viewport”HTML元标记的支持还是应该使用宽视口。true:支持<meta>标签的viewport属性
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
webSettings.setMediaPlaybackRequiresUserGesture(false);
}
webSettings.setBlockNetworkLoads(false);
webSettings.setAllowContentAccess(true);
webSettings.setLoadWithOverviewMode(true);
webSettings.setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN);
webSettings.setJavaScriptEnabled(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
}
webSettings.setDomStorageEnabled(true);//设置是否启用DOM存储API。默认false。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
webSettings.setAllowUniversalAccessFromFileURLs(true);//可以解决有声音没图像得问题。设置是否允许在文件方案URL上下文中运行的JavaScript访问来自任何来源的内容。同上。
}
webSettings.setSupportZoom(true);
webSettings.setAllowFileAccess(true); //设置可以访问文件
webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口 webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
webSettings.setPluginState(WebSettings.PluginState.ON);
说明:参考网址:https://www.jianshu.com/p/0d7d429bd216
原文:https://www.cnblogs.com/qynprime/p/12711735.html