Android WebView - onTouchListener在滚动页面后停止工作

时间:2013-04-22 13:21:09

标签: android webview scroll ontouchevent ontouchlistener

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

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

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

我正在尝试使用onTouchListener和onTouch方法,直到我滚动页面(当我触摸它调用三次的屏幕时 - 分别为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);
}

我是如何正确识别用户手势并监控其活动的?

1 个答案:

答案 0 :(得分:3)

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

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)