终极方案:SwipeRefreshLayout刷新控件与webview控件冲突

首先,SwipeRefreshLayout与webview配套的使用过程中,是肯定会出现滑动冲突.这个时候我们的思路是,重写webview的触摸事件,然后将我们的刷新控件的对象传入给我们重写的webview.

第一步:
先给展示布局XML:
终极方案:SwipeRefreshLayout刷新控件与webview控件冲突
可以看到我的刷新控件就是原生的,没改,我的webview重写了.

第二步:
重写webview:
终极方案:SwipeRefreshLayout刷新控件与webview控件冲突
这里的重点在于修改他的触摸事件,我们注意到修改触摸事件,我们同样需要传入刷新控件,那么我就写了getViewGroup和setViewGroup方法.
第三步:
去看看我们怎么传入我们要的对象的:
我们是直接在我们findviewbyid控件的那个类里做传入刷新控件对象的操作:
终极方案:SwipeRefreshLayout刷新控件与webview控件冲突

重要提示:不要在项目里忘了的三句话
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webSettings.setAppCacheEnabled(true);

少了这三句的后果就是,你的下拉就会出问题.