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