判断ScrollView已经滚动到的位置,从而进行操作。
如判断ScrollView是否已经滚动至底部,从而加载更多内容。判断ScrollView是否已经滚动至顶部,从而刷新内容。
原理通过比较ScrollView的纵向位置,判断是否已经到顶部或底部,代码如下:
public ScrollView scrollView;
private int scrollViewY;
scrollView = (ScrollView)findViewById(R.id.viewStatusDetailSV);
scrollView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_UP) {
/** 滑动到顶部和底部做处理 **/
if (scrollView.getScrollY() == 0) {
Toast.makeText(context, "到达顶部了", Toast.LENGTH_SHORT).show();
} else if (scrollView.getScrollY() - scrollViewY < 2 && scrollView.getScrollY() >= scrollViewY) {
Toast.makeText(context, "到达底部了" + scrollView.getScrollY(), Toast.LENGTH_SHORT).show();
} else {
scrollViewY = scrollView.getScrollY();
}
}
return false;
}
});
为了精确度问题scrollView.getScrollY() - scrollViewY < 2差2个pixels时已经当作到达底部