zoukankan      html  css  js  c++  java
  • Android监听ScrollView滑动到顶端和底部

    Android监听ScrollView滑动到顶端和底部
     
     
    package cn.testscrollview;
    import android.os.Bundle;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnTouchListener;
    import android.widget.ScrollView;
    import android.app.Activity;
    /**
     * Demo描述:
     * 监听ScrollView滑动到顶端和底部
     *
     * 注意事项:
     * 1 mScrollView.getChildAt(0).getMeasuredHeight()表示:
     *   ScrollView所占的高度.即ScrollView内容的高度.常常有一
     *   部分内容要滑动后才可见,这部分的高度也包含在了
     *   mScrollView.getChildAt(0).getMeasuredHeight()中
     *  
     * 2 view.getScrollY表示:
     *   ScrollView顶端已经滑出去的高度
     *  
     * 3 view.getHeight()表示:
     *   ScrollView的可见高度
     *  
     */
    public class MainActivity extends Activity {
        private ScrollView mScrollView;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            init();
        }
        private void init(){
            mScrollView=(ScrollView) findViewById(R.id.scrollView);
            mScrollView.setOnTouchListener(new TouchListenerImpl());
        }
        private class TouchListenerImpl implements 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=mScrollView.getChildAt(0).getMeasuredHeight();
                     if(scrollY==0){
                            System.out.println("滑动到了顶端 view.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;
            }
             
        };
    }
  • 相关阅读:
    Hibernate4究竟怎么玩目录
    Hibernate检索策略之5.2多对一单向关联检索策略——Hibernate4究竟怎么玩
    Struts2 OGNL表达式中调用java静态方法无效的解决办法
    JDBC API中的execute返回值问题
    Hibernate检索策略之5.1类级别检索策略——Hibernate4究竟怎么玩
    PowerDesigner逆向工程mysql
    三种批量增加的性能分析
    Apache FtpServer的使用
    杭电1013
    杭电1008
  • 原文地址:https://www.cnblogs.com/exmyth/p/4517157.html
Copyright © 2011-2022 走看看