您的位置:首页 > 移动开发 > Android开发

Android监听ScrollView滑动到顶端和底部

2016-06-25 12:02 597 查看
public class MainActivity extends Activity{

    private ScrollView sl;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        sl = (ScrollView) findViewById(R.id.sl);

        sl.setOnTouchListener(new View.OnTouchListener() {

            @Override

            public boolean onTouch(View view, MotionEvent motionEvent) {

                switch (motionEvent.getAction()) {

                    case MotionEvent.ACTION_DOWN:

                        break;

                    case MotionEvent.ACTION_MOVE:

                        int scrollY=view.getScrollY();

                        int height=view.getHeight();

                        int scrollViewMeasuredHeight=sl.getChildAt(0).getMeasuredHeight();

                        if(scrollY==0){

                            System.out.println("滑动到了顶端 getScrollY()="+scrollY);

                        }

                        if((scrollY+height)==scrollViewMeasuredHeight){

                            System.out.println("滑动到了底部 scrollY="+scrollY);

                            System.out.println("滑动到了底部 height="+height);

                            System.out.println("滑动到了底部 scrollViewMeasuredHeight="+scrollViewMeasuredHeight);

                        }

                        break;

                    default:

                        break;

                }

                return false;

            }

        });

//另外一个 

if(getScrollY() + getHeight() >=  computeVerticalScrollRange())
{
        Log.d(TAG,"------滚动到最下方------");
}
else
{
        Log.d(TAG,"没有到最下方");
}

或:重写ScrollView
protected void onScrollChanged(int l, int t, int oldl, int oldt)
{
用t代替上面的getScrollY(),也可以,他们的值相同
....
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: