Android 当滚动视图不在顶部时禁用SwipeRefreshLayout
我有一个Android 当滚动视图不在顶部时禁用SwipeRefreshLayout,android,scrollview,landscape,swiperefreshlayout,Android,Scrollview,Landscape,Swiperefreshlayout,我有一个片段,它有一个滚动视图和一个SwipeRefreshLayout。当ScrollView不在顶部时,我想禁用SwiperFreshLayout,这样用户可以在片段的顶部再次滚动。我试图创建一个自定义的ScrollView,并像这样覆盖onScrollChanged方法 @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { View view = (View) getChildAt(
片段
,它有一个滚动视图
和一个SwipeRefreshLayout
。当ScrollView
不在顶部时,我想禁用SwiperFreshLayout
,这样用户可以在片段的顶部再次滚动。我试图创建一个自定义的ScrollView
,并像这样覆盖onScrollChanged
方法
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
View view = (View) getChildAt(getChildCount() - 1);
int d = view.getBottom();
d -= (getHeight() + getScrollY());
if (d <= 0) {
// bottom
} else if (getScrollY() <= 0) {
// top
swipeRefreshLayout.setEnabled(true);
} else {
swipeRefreshLayout.setEnabled(false);
super.onScrollChanged(l, t, oldl, oldt);
}
}
@覆盖
CrollChanged上的受保护无效(int l、int t、int oldl、int oldt){
视图=(视图)getChildAt(getChildCount()-1);
int d=view.getBottom();
d-=(getHeight()+getScrollY());
如果(d尝试使用NestedScrollView
当需要在另一个滚动视图中使用滚动视图时,可使用此选项。如果用户不在滚动视图的顶部,如何触发刷新?他返回顶部并滑动。