我正在开发一个应用程序,我将使用webview。我的问题是我们可以阻止WEBVIEW在滚动功能方面的建立吗?
我试过这样做:
在onScrollChanged super.scroll(0,0);
但这不会帮助我。我正在寻找像我们可以使用webview设置停止缩放的东西......
任何人有更好的想法,那么这将是伟大的。
答案 0 :(得分:7)
最后我自己找到了答案..:P
我们可以通过在页面中执行一些javascript来停止或开始滚动和缩放页面。这是javascript代码:
function stopScroll()
{
document.ontouchmove = function(e){ e.preventDefault(); }
}
function startScroll()
{
document.ontouchmove = function(e){ return true; }
}
现在您可以使用以下命令使用Android webview调用这些函数:
myWebView.loadUrl("javascript:stopScroll()");
通过调用上面的函数,将调用HTML页面中的stopScroll。 干杯!!!
答案 1 :(得分:2)
WebView WebView1 = (WebView) findViewById(R.id.webView1);
//Only hide the scrollbar, not disables the scrolling:
WebView1.setVerticalScrollBarEnabled(false);
WebView1.setHorizontalScrollBarEnabled(false);
//Only disabled the horizontal scrolling:
WebView1.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);
//To disabled the horizontal and vertical scrolling:
webview.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
return (event.getAction() == MotionEvent.ACTION_MOVE);
}
});
// details here
答案 2 :(得分:1)
我可以建议从另一个角度来看问题。当我遇到类似问题时,这对我有帮助。我发现html元标记“viewport”对WebView有很大的影响,特别是如果指定不正确的话。如果网页是由您开发和维护的,那么您可以在网页中使用以下元标记:
<meta name="viewport" content="width=device-width; user-scalable=0;"/>