ScrollView嵌套WebView滑动冲突问题

前言:

想必大家都是奔着标题而来的,那么不管实际开发中是否有遇到过,这个确实是一个坑点!!!

问题描述:

在Android开发中难免遇到Android与Js交互,要想实现交互,第一步就得使用WebView去加载一个html页面,这样才会有许多接下来的操作,使用WebView加载的时候难面遇到一屏幕元素多,但是还得让WebView的界面可滑动时,那外层布局就必须得套一层ScrollView,这样就会发现你你内部的WebView不可滑动了,只可以滑动ScrollView。

解决思路:

就是控制touch事件的分发,当WebView的touch事件收到了ACTION_UP事件时,就控制该事件由WebView接收,不在向下分发了,当WebView的touch事件检测非ACTION_UP事件时,则向下分发,交由ScrollView处理,这样就避免了touch事件分发下去WebView无滑动响应的问题。

           mWebView.setOnTouchListener(new View.OnTouchListener() {
              @Override
              public boolean onTouch(View v, MotionEvent event) {
                if (event.getAction() == MotionEvent.ACTION_UP) {
                  mWebView.requestDisallowInterceptTouchEvent(false);
                } else {
                  mWebView.requestDisallowInterceptTouchEvent(true);
                }
                return false;
              }
            });

 

猜你喜欢

转载自blog.csdn.net/weixin_43917449/article/details/105491509
今日推荐