1. 程式人生 > >終極方案:SwipeRefreshLayout重新整理控制元件與webview控制元件衝突

終極方案:SwipeRefreshLayout重新整理控制元件與webview控制元件衝突

首先,SwipeRefreshLayout與webview配套的使用過程中,是肯定會出現滑動衝突.這個時候我們的思路是,重寫webview的觸控事件,然後將我們的重新整理控制元件的物件傳入給我們重寫的webview.

第一步:
先給展示佈局XML:
這裡寫圖片描述
可以看到我的重新整理控制元件就是原生的,沒改,我的webview重寫了.

第二步:
重寫webview:
這裡寫圖片描述
這裡的重點在於修改他的觸控事件,我們注意到修改觸控事件,我們同樣需要傳入重新整理控制元件,那麼我就寫了getViewGroup和setViewGroup方法.
第三步:
去看看我們怎麼傳入我們要的物件的:
我們是直接在我們findviewbyid控制元件的那個類裡做傳入重新整理控制元件物件的操作:
這裡寫圖片描述

重要提示:不要在專案裡忘了的三句話
webSettings.setJavaScriptEnabled(true);
webSettings.setSupportZoom(true);
webSettings.setAppCacheEnabled(true);

少了這三句的後果就是,你的下拉就會出問題.