SDKLauncher-Android icon indicating copy to clipboard operation
SDKLauncher-Android copied to clipboard

Event propagation from content to webview

Open ClementHard opened this issue 10 years ago • 2 comments

Hello,

I'm using the swipe gesture to turn pages and it work great by adding a GestureDetector into the webview OnTouchListener. But if I want to check if the webview consumed the event before trying to detect the swipe gesture (in order to avoid turning the page when dragging a slideshow for example) it do not work because the webview.onTouchEvent(e) always return true even if there is no interactive content.

The same thing works perfectly on iOS.

Here is a StackOverflow question referring to the same problem : http://stackoverflow.com/questions/29821565/check-if-android-webview-is-consuming-touch-events

GestureDetector gestureDetector = new SwipeGestureDetector(context);
webview.setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        // With the following code, the gestureDetector is never triggered, webview.onTouchEvent(e) always return true (event is consumed by the webview).
        return webview.onTouchEvent(event) || gestureDetector.onTouchEvent(event);
    }
});

This is probably an Android webview issue.

ClementHard avatar Jul 28 '15 14:07 ClementHard

I had been searching for a long time and now I think that it has no proper solution......

ButterRhopa avatar Mar 14 '16 05:03 ButterRhopa

Android UIWebView, or Chromium? (the latter is available only from KitKat v4.4+)

danielweck avatar Mar 14 '16 06:03 danielweck