美文网首页
当ScrollView的滚动到底部或右边的时候监听

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

作者: sun_wenming | 来源:发表于2017-04-05 12:09 被阅读0次

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了。

相关文章

网友评论

      本文标题:当ScrollView的滚动到底部或右边的时候监听

      本文链接:https://www.haomeiwen.com/subject/kwbtattx.html