安卓WebView与ScrollView嵌套大面积空白解决小技巧
程序员文章站
2022-04-04 10:22:12
...
最近使用到WebView,使用过程中遇到了以下的问题,和大家分享一下。 首先看一下控制webView宽度的方法: 这是API对于此方法的说明:当false时,此WebView的宽度始终是Web页面CSS中控制的宽度,因此要适配屏幕此方法要为true。 API说明:这种加载模式,是缩小
最近使用到WebView,使用过程中遇到了以下的问题,和大家分享一下。
首先看一下控制webView宽度的方法:
这是API对于此方法的说明:当false时,此WebView的宽度始终是Web页面CSS中控制的宽度,因此要适配屏幕此方法要为true。
API说明:这种加载模式,是缩小内弄以适配屏幕宽度。
所以,WebView适配屏幕的时候要将这2个方法都设置为true
加载Web页面的方式:
loadUrl (String url) 直接加载一个页面的域名
loadData (String data,String mimeType, String encoding) 加载一段HTML,mimeType="text/html" encoding="utf-8"
loadDataWithBaseURL (String baseUrl,String data, String mimeType, String encoding, String historyUrl) 与上面用法相同
了解了安卓WebView关于宽度适配的相关属性,方法,尝试了获取webView的高度设置,都没有达到满意的效果.
回到正题,为了解决大面积空白的问题,我使用了下面的小技巧勉强达到了想要的效果,只不过代价是放弃了webView的缩放,如果哪位大神有好的解决方案,敬请赐教。
wv.getSettings().setLayoutAlgorithm(WebSettings.LayoutAlgorithm.SINGLE_COLUMN); wv.setVerticalScrollBarEnabled(false); wv.setVerticalScrollbarOverlay(false); wv.setHorizontalScrollBarEnabled(false); wv.setHorizontalScrollbarOverlay(false);
将webView的横向竖向的scrollBar都禁用掉,将不再与ScrollView冲突,解决了大面积空白的问题。