当WebView的父级是Viewpager时,Android WebView中的滚动事件冲突

时间:2014-08-27 08:48:04

标签: android webview scroll android-viewpager conflict

**如标题中所述,当WebView的父级是Viewpager时,音频或视频元素中的进度条效果不佳。有时它很难拖动或可能导致Viewpager翻转。那么,有谁知道如何解决这个问题?请帮忙!!!非常感谢! **

1 个答案:

答案 0 :(得分:0)

您可以在触摸webview时暂停父母触摸,或者您可以根据情况执行操作。 下面是示例代码。我为scrollView编写了代码,您可以根据需要使用它

    webView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View __v, MotionEvent __event) {
            if (__event.getAction() == MotionEvent.ACTION_DOWN) {
                //  Disallow the touch request for parent scroll on touch of child view
                requestDisallowParentInterceptTouchEvent(__v, true);
            } else if (__event.getAction() == MotionEvent.ACTION_UP || __event.getAction() == MotionEvent.ACTION_CANCEL) {
                // Re-allows parent events
                requestDisallowParentInterceptTouchEvent(__v, false);
            }
            return false;
        }
    });


private void requestDisallowParentInterceptTouchEvent(View __v, Boolean __disallowIntercept) {
    while (__v.getParent() != null && __v.getParent() instanceof View) {
        if (__v.getParent() instanceof ScrollView) {
            __v.getParent().requestDisallowInterceptTouchEvent(__disallowIntercept);
        }
        __v = (View) __v.getParent();
    }
}