美文网首页Android相关Android
Android ViewPager嵌套ViewPager联动简单

Android ViewPager嵌套ViewPager联动简单

作者: 可乐_JS | 来源:发表于2021-02-25 10:38 被阅读0次
    ViewPager嵌套联动效果.gif

    代码:

    /**
     * ================================
     * Des: 联动滑动 ViewPager
     * Created by kele on 2021/2/23.
     * E-mail:984127585@qq.com
     * ================================
     */
    public class LinkageSlidingViewPager extends ViewPager {
    
        public LinkageSlidingViewPager(Context context) {
            this(context, null);
        }
    
        public LinkageSlidingViewPager(Context context, AttributeSet attrs) {
            super(context, attrs);
        }
    
        @Override
        public boolean dispatchTouchEvent(MotionEvent ev) {
            switch (ev.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    getParent().requestDisallowInterceptTouchEvent(true);
                    break;
                case MotionEvent.ACTION_MOVE:
                    int curPosition = this.getCurrentItem();
                    int count = this.getAdapter().getCount();
                    // 当当前页面在最后一页和第0页的时候,由父亲拦截触摸事件
                    if (curPosition == count - 1 || curPosition == 0) {
                        getParent().requestDisallowInterceptTouchEvent(false);
                    } else {//其他情况,由孩子拦截触摸事件
                        getParent().requestDisallowInterceptTouchEvent(true);
                    }
                    break;
            }
            return super.dispatchTouchEvent(ev);
        }
    }
    

    参考链接:

    https://blog.csdn.net/gdutxiaoxu/article/details/52939127

    相关文章

      网友评论

        本文标题:Android ViewPager嵌套ViewPager联动简单

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