Android--关于ListView和ViewPager滑动冲突的处理

    xiaoxiao2026-09-22  0

    在项目中我们经常会做在listview的header添加viewpager来滚动播放(广告或者新闻等焦点图)的需求,由于viewpager的横向滑动和listview的纵向滑动会导致冲突 解决办法如下:

    1,继承viewpager并且重写dispatchTouchEvent,onInterceptTouchEvent,onTouchEvent这三个方法

    2,通过set方法传入ViewPager 的parent(ViewGroup) 然后在返回super方法的之前加入如下代码: if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); }

    @Override public boolean dispatchTouchEvent(MotionEvent ev) { if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } return super.dispatchTouchEvent(ev); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } return super.onInterceptTouchEvent(arg0); } @Override public boolean onTouchEvent(MotionEvent arg0) { if (parent != null) { parent.requestDisallowInterceptTouchEvent(true); } return super.onTouchEvent(arg0); }
    转载请注明原文地址: https://ju.6miu.com/read-1312201.html
    最新回复(0)