我有一个ScrollView
,其中RelativeLayout
是唯一的孩子。
最近我注意到了方法:
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {}
即使子高度低于ScrollView
高度,也会调用,如下所示:
这指的是我的ScrollView
,而rl指的是RelativeLayout
。
这是正常行为还是我错过了什么?
修改
我不断添加和删除RelativeLayout
中的视图,因此每次禁用滚动/触摸等都不是一个好的解决方案。
我目前的修复是检查滚动是否实际改变了任何内容,如果没有,我只是忽略它:
// in case no actual scroll has occurred - just return.
if (t == oldt && l == oldl) {
return;
}
答案 0 :(得分:3)
这是正常行为
如果要停止ScrollView滚动,则必须尝试此
scroll.setEnabled(false);
scroll.setFocusable(false);
scroll.setHorizontalScrollBarEnabled(false);
scroll.setVerticalScrollBarEnabled(false);
希望这样可行