android scrview viewpager webv

作者: 品味与回味 | 来源:发表于2018-03-22 19:08 被阅读10次
112.gif

整体ScrollView 有一个滑动效果。 里面还有一个viewpager 左右滑动的效果。 商品详情 里面 是一个网页。 这样 就很麻烦。 拦截机制 就会很考验。
我说一下 我实现的思路
在自定义的ScrollView 中

  @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);

                nHer = curY - yLast;

                xLast = curX;
                yLast = curY;

                if(getHeight()+getScrollY()>=dp2px(450)+a&&nHer<0)
                {

 关键方法。  滑动的距离 加上getHeight() 获取的屏幕高度  来和450 viewpager的高度。 还有a的高度
a 根据大家的需求来。 看到gif显示 我的就是 卡在哪个页面的控件的高度。 
                    huadong = true;
                    return false;
                    //you are at the end of the list in scrollview
                    //do what you wanna do here
                }


                if(xDistance > yDistance){
                    return false;
                }else{
//                    if(nHer>0){
//                        return super.onInterceptTouchEvent(ev);
//                    }else{
//                        return false;

//                    }

                }
                if(huadong){



                    return false;
                }else{

                }


//                if(getScrollY() >a){
//                    return false;
//                }else {
////                    return true;
//                }
        }

        return super.onInterceptTouchEvent(ev);
    }

相关文章

网友评论

    本文标题:android scrview viewpager webv

    本文链接:https://www.haomeiwen.com/subject/vphzqftx.html