当ScrollView的滚动到底部或右边的时候监听

来源:互联网 发布:淘宝批量充话费 编辑:程序博客网 时间:2024/05/17 08:58
android判断scrollview滚动到底和滚动到右的问题


第一步,获取子view的宽度
scrollview有且只有一个子view  调用 ScrollView的getChildAt方法获取子view
View view = (View) ScrollView.getChildAt(ScrollView.getChildCount() - 1);
子view的宽度  subViewWidth
int subViewWidth = view.getRight();

第二步,获取scrollview的滚动位置
if(如果要判断 滚动到底){
int y = ScrollView.getScrollY();
}else{
滚动到右
int x = ScrollView.getScrollX();
}

第三步,判断
当subViewWidth - y - ScrollView.getHeight() == 0则表示滚动到了最下边

当subViewWidth - x - ScrollView.getWidth() == 0则表示滚动到了最右边

这些判断该如何触发呢,为 ScrollView设置setOnTouchListener吧


获取结果为0 ,应该是因为你在onCreat方法中获取的值,在onCreat方法回调时,
View界面还没有绘制完成,你此时获取的值当然就是0了,你可以复写下onWindowFocusChanged方法,
在该方法中进行获取,这样子拿到的值就不是0了。
0 0