浏览 1202 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2015-07-26
getScrollY() == 0 滚动到底部判断: View childView = getChildAt(0); childView.getMeasuredHeight() <= getScrollY() + getHeight(); 其中getChildAt表示得到ScrollView的child View childView.getMeasuredHeight()表示得到子View的高度, getScrollY()表示得到y轴的滚动距离, getHeight()为scrollView的高度 getScrollY()达到最大时加上scrollView的高度就的就等于它内容的高度了. 判断滑动位置的地方,可以有两种方式: 1、实现OnTouchListener来监听是否滑动到最底部 OnTouchListener onTouchListener=new OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_UP: if (childView != null && childView .getMeasuredHeight() <= getScrollY() + getHeight()) { } else if (getScrollY() == 0) { } break; } return false; } } 2、重写ScrollView的onScrollChanged的方法,在onScrollChanged函数中判断 public class myScrollView extends ScrollView { public myScrollView(Context context) { super(context); } public myScrollView(Context context, AttributeSet attributeSet) { super(context,attributeSet); } @Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { View view = (View)getChildAt(getChildCount()-1); int d = view.getBottom(); d -= (getHeight()+getScrollY()); if(d==0) { //you are at the end of the list in scrollview //do what you wanna do here } else super.onScrollChanged(l,t,oldl,oldt); } } 本文欢迎转载,转载请注明出处与作者 出处:http://blog.sina.com.cn/staratsky 作者:流星 android开发群,分享开发中问题的解决办法和经验,欢迎大家的加入,群号:293872059 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |