android - 仅拦截双击

标签 android android-webview android-2.3-gingerbread gesturedetector

我目前在 webView 上有一个 GestureDetector,我想响应双击。然而,webView 然后会忽略所有单击 - 大概我也覆盖了这种行为。

我正在寻找:

  • 双击将由我的代码检测并由我的 Activity 处理
  • WebView 正常处理常规点击

这是我到目前为止所拥有的:

final WebView web = (WebView) findViewById(R.id.webView1);
WebViewClient webrules = new WebViewClient(){
        public boolean shouldOverrideUrlLoading(WebView web,String url){
            return false;
        }
    };
    web.setWebViewClient(webrules);
    WebSettings webSettings = web.getSettings();
    webSettings.setJavaScriptEnabled(true);

 

final GestureDetector gestureDetector = new GestureDetector(new GestureDetector.SimpleOnGestureListener() {

        @Override
        public boolean onDoubleTap(MotionEvent e) {
            Log.d("**APP**", "Double Tap event");
            return true;
        }

        @Override
        public boolean onDown(MotionEvent e) {
            return true;
        }
    });
    gestureDetector.setIsLongpressEnabled(true);

    web.setOnTouchListener(new OnTouchListener(){

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            return gestureDetector.onTouchEvent(event);
        }

    });

如何将正常的单击留给 webView 来处理?

最佳答案

尝试在 onDown 方法中返回 false。返回 true“意味着”该事件已被消耗,因此不会被传递。

关于android - 仅拦截双击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10372789/

相关文章:

android - 调试器未附加到 Android 设备上的 UnityPlayer

android - 如何将数组列表与移动联系人进行比较

android - 如何在Android应用程序中读取和使用网站内容

android - 将 Jelly Bean 启动器移植到 GingerBread

android - 无法推送选择 : Read-only file system

java - 不能在 adListener 中使用 sharedPreference

android - 在 strings.xml 中使用特殊字符在 WebView 中加载

Android webview 应用程序和 Google Analytics

java - Android 为 Gingerbread 提供样式资源

java - 为什么创建 OkHttpClient 实例需要这么长时间?