我的应用程序中有一个WebView,其中包含HTML内容,HTML内容的大小大于WebView的大小。当用户将他/她的手指拖到其上时,由于哪些内容在其内部滚动。我想停止内容滚动正在发生内容。
到目前为止我已经尝试过的事情:
WebView view = new WebView(context); //context is of Activity
view.setHorizontalScrollBarEnabled(false);
view.setVerticalScrollBarEnabled(false);
view.setScrollContainer(false);
并在CSS中:
overflow : hidden !important;
请为除了禁用手指拖动(黑客)for webview之外建议解决方案,因为这会影响我的其他功能,如下所示:
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
if(motionEvent.getAction() == MotionEvent.ACTION_MOVE)
{
return true;
}
}
答案 0 :(得分:4)
在您的网页视图中添加一个包装所有内容的容器,位于body
元素下方,如下所示:
<body id="myBody">
<div class="container">
<!-- All your content goes in this new div.container -->
</div>
</body>
然后,将此CSS添加到您的页面:
body {
height: 100%;
width: 100%;
pointer-events: none;
}
div.container {
overflow: hidden!important;
height: 100%;
width: 100%;
}
问题在于尽管有溢出规则,WebView似乎忽略了body
上的滚动,并且由于body
扩展以满足其内容,因此它总是认为滚动还有更多内容至。这样做是将正文重置为WebView的大小,然后使用容器使主体不会扩展到WebView以外的内容。
希望有所帮助。