任何阻止WebView内置滚动的方法

时间:2011-12-26 11:56:27

标签: android webview scroll

我正在开发一个应用程序,我将使用webview。我的问题是我们可以阻止WEBVIEW在滚动功能方面的建立吗?

我试过这样做:

在onScrollChanged super.scroll(0,0);

但这不会帮助我。我正在寻找像我们可以使用webview设置停止缩放的东西......

任何人有更好的想法,那么这将是伟大的。

3 个答案:

答案 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;"/>