Android ScrollView使用
ScrollView允许内容超过屏幕大小,滚动进行查看。它必须包含子控件。下面的边积累边写吧
?
1、判断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时已经当作到达底部
?
2、将ScrollView滚动到某个位置
使用scrollView.scrollTo(x, y)滚动到某个位置,如scrollView.scrollTo(0, 0)表示滚动到顶部
?
参考:
http://developers.androidcn.com/reference/android/widget/ScrollView.html