【问题标题】:Android WebView - onTouchListener stop working after scrolling pageAndroid WebView - onTouchListener 在滚动页面后停止工作
【发布时间】:2013-04-22 13:21:08
【问题描述】:

我正在开发一个显示图像的应用程序(如幻灯片放映),当用户触摸图像时,我想在 WebView 中打开网页。

我遇到的问题是如何监控用户活动?

例如,如果用户不再查看该网站,请不要触摸它、滚动或缩放 15 秒我想返回幻灯片放映。

我正在尝试使用 onTouchListener 和 onTouch 方法,该方法在我滚动页面之前有效(当我触摸屏幕时,它会调用 3 次 - 分别为 event=ACTION_DOWN/ ACTION_MOVE/ ACTION_UP),当您触摸屏幕滚动页面时,它被调用两次 (event=ACTION_DOWN/ACTION_MOVE) 并且 onTouchListener 方法不再起作用。然后我多次触摸屏幕,onTouch 再也不会调用了。

我设置 WebView 属性的部分代码:

private void setWebViewProperties() {

    mWebView = (WebView) findViewById(R.id.webView);
    mWebView.setWebViewClient(new WebViewClient());
    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.getSettings().setBuiltInZoomControls(true);
    mWebView.setOnTouchListener(new OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub
            noWebTouchActive = false;
            mHandler.postDelayed(noWebActive, 10000);
            return false;
        }
    });
    mWebView.setVisibility(View.INVISIBLE);
}

任何想法如何正确识别用户手势并监控他的活动?

【问题讨论】:

标签: android webview scroll touch-event ontouchlistener


【解决方案1】:

我认为这是一个错误。 看这里:

https://code.google.com/p/android/issues/detail?can=2&start=0&num=100&q=&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars&groupby=&sort=&id=36713

我以这种方式解决了禁用 BuiltInZoomControls

mWebView.getSettings().setBuiltInZoomControls(false)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多