zoukankan      html  css  js  c++  java
  • 能够兼容ViewPager的ScrollView

    能够兼容ViewPager的ScrollView

    ScrollView嵌套ViewPager冲突的解决办法:

    /**
     * 能够兼容ViewPager的ScrollView
     * @Description: 解决了ViewPager在ScrollView中的滑动反弹问题
     */
    public class ScrollViewExtend extends ScrollView {
        // 滑动距离及坐标
        private float xDistance, yDistance, xLast, yLast;
    
        public ScrollViewExtend(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        public boolean onInterceptTouchEvent(MotionEvent ev) {
            switch (ev.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    xDistance = yDistance = 0f;
                    xLast = ev.getX();
                    yLast = ev.getY();
                    break;
                case MotionEvent.ACTION_MOVE:
                    final float curX = ev.getX();
                    final float curY = ev.getY();
                    
                    xDistance += Math.abs(curX - xLast);
                    yDistance += Math.abs(curY - yLast);
                    xLast = curX;
                    yLast = curY;
                    
                    if(xDistance > yDistance){
                        return false;
                    }  
            }
    
            return super.onInterceptTouchEvent(ev);
        }
    } 
  • 相关阅读:
    js面向对象和PHP面相对象
    git
    css3动画、2D与3D效果
    渲染数据方式
    ajax
    面向对象
    Date 日期
    Math 数值对象
    What is CGLib and JDK动态代理
    IDEA中lock对象不提示newCondition();
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4689784.html
Copyright © 2011-2022 走看看