我的应用程序中有一个Webview
,并在其中加载了一个Web表单。我也在使用SwipeRefreshLayout
重新加载网页。
在向下滚动网页时遇到一个问题,经过一番研究,我实现了以下逻辑。
wv_content.getViewTreeObserver().addOnScrollChangedListener(new ViewTreeObserver.OnScrollChangedListener() {
@Override
public void onScrollChanged() {
layout_swipe_refresh.setEnabled(wv_content.getScrollY() == 0);
}
});
是固定的。现在工作正常。
问题:
但是现在我在滚动内容方面遇到了另一个问题。我的网页上有下拉菜单。
因此,如果我打开Dropdown并向上滚动,则可以,但是在向下滚动时,将执行SwipeRefreshLayout并刷新页面。
这是因为我具有集成的逻辑来检查webView的y位置,在这种情况下,webView的y位置每次都会为0,内部内容滚动位置也会不同。