码迷,mamicode.com
首页 > 移动开发 > 详细

怎么判断android中ScrollView滑动到了最底部?

时间:2015-07-26 06:23:33      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:

滚动到顶部判断:

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


怎么判断android中ScrollView滑动到了最底部?

标签:

原文地址:http://my.oschina.net/u/157503/blog/483775

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!