我的Fragment
有ScrollView
和SwipeRefreshLayout
。我想在SwipeRefreshLayout
不在顶部时禁用ScrollView
,因此用户可以再次滚动到Fragment
的顶部。我尝试创建自定义ScrollView
并覆盖此{/ p>的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);
}
}
这适用于纵向模式,但不适用于横向模式。我还试图检查getScrollX() <= 0
是否有效。
答案 0 :(得分:0)
尝试使用NestedScrollView
。
当在另一个滚动视图中需要滚动视图时使用。