Android WebView仅禁用垂直滚动失效及底部空白问题求助
解决WebView滚动条残留和底部空白问题
我之前也碰到过类似的头疼情况,给你几个实用的排查和解决思路:
排查网页自身的滚动样式
有时候问题不在WebView设置上,而是加载的网页CSS自带了滚动条配置。可以尝试给网页全局样式添加:body, html { overflow: hidden; -webkit-overflow-scrolling: touch; }另外也可以禁用WebView的缩放控件(有时候会被误认成滚动条):
wvProgress.getSettings().setDisplayZoomControls(false);修复底部空白区域
给XML中的WebView加上android:fillViewport="true"属性,强制WebView拉伸内容填满整个视口,很多时候底部空白都是因为这个属性缺失:<WebView android:id="@+id/wvProgress" android:layout_width="match_parent" android:layout_height="match_parent" android:scrollbars="none" android:fillViewport="true" />彻底禁用滚动条的额外设置
除了你已有的代码,试试同时禁用水平滚动条,再调整滚动条的显示样式:wvProgress.setVerticalScrollBarEnabled(false); wvProgress.setHorizontalScrollBarEnabled(false); wvProgress.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY); // 也可尝试SCROLLBARS_INSIDE_INSET检查父布局的嵌套问题
如果你的WebView被ScrollView包裹了,大概率会出现滚动条混乱和底部空白——WebView本身自带滚动功能,嵌套ScrollView会导致布局计算异常,直接去掉外层的ScrollView就能解决。
内容的提问来源于stack exchange,提问作者Janvi Vyas




