WebView && SwipeRefreshLayout 下拉刷新事件冲突解决

// swipe 刷新回调接口 刷新data 操作.
swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(false);
wvPage.reload();
}
});

// 处理冲突事件 关键代码.
    swipeRefreshLayout.setOnChildScrollUpCallback(new SwipeRefreshLayout.OnChildScrollUpCallback() {
        @Override
        public boolean canChildScrollUp(@NonNull SwipeRefreshLayout swipeRefreshLayout, @Nullable View view) {
            return wvPage.getScrollY() > 0;  // 原生安卓使用getScrollY()来判断在Y轴的距离
     //                return wvPage.getWebScrollY() > 0;   

// 我项目中使用的X5内核的webview需要调用
getWebScrollY()来判断在Y轴的距离
}
});

原文:https://blog.csdn.net/xieluoxixi/article/details/88948161

你可能感兴趣的:(android)