1. 程式人生 > >WebView加下拉重新整理的時候,如果WebView內部有上下滑動的列表,會與下拉重新整理的滑動衝突

WebView加下拉重新整理的時候,如果WebView內部有上下滑動的列表,會與下拉重新整理的滑動衝突

WebView加下拉重新整理的時候,如果WebView內部有上下滑動的列表,會與下拉重新整理的滑動衝突,表現在WebView滑到下面就再也滑不上去了。網上查了很多解決辦法,有重寫WebView的,有重寫SwipeRefreshLayout的(我這裡使用的下拉重新整理控制元件是SwipeRefreshLayout),有比較簡單的,有比較複雜的,但是試過好多以後發現都沒有作用。下面是一種很簡單的思路,既不重寫WebView,也不重寫SwipeRefreshLayout,卻能解決這個衝突(有作用不用感謝我,有問題請留言告訴我):
直接重寫WebViewonTouchListener方法,在DOWN

事件的時候判斷WebView滑動的距離是不是0,如果是0就代表WebView在頂部,就可以觸發下拉重新整理;如果不是0,就代表WebView不在頂部,不能觸發下拉重新整理,程式碼如下:

mWebView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch (event.getAction()) {
                        case
MotionEvent.ACTION_DOWN:{ if(mWebView.getScrollY() <= 0){ refreshLayout.setEnabled(true); } else { refreshLayout.setEnabled(false); } } default
: break; } return false; } });