Listview ViewPager 解决滑动冲突

来源:互联网 发布:软件架构设计 推荐 编辑:程序博客网 时间:2024/04/28 11:45

一般在一个APP首页很容易碰到。一个Listview中有一个Viewpager作为广告栏进行一页一页的进行翻转,但是listview是纵向滑动的,viewpager是横向滑动的。所以会导致有滑动冲突,那该怎么解决呢,一般都是自定义一个ViewPager,利用View传递事件进行处理,好了,废话不多说,直接上代码

public class CustomerViewPager extends ViewPager {    /**     * 记录最后一次手指触摸屏幕的X轴坐标点     */    private float lastDownX;    /**     * 横向最小滑动距离     */    private static final float X_DISTANCE = 15.0f;    public CustomerViewPager(Context context) {        super(context);    }    public CustomerViewPager(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    public boolean onInterceptTouchEvent(MotionEvent ev) {        final int ACTION = ev.getAction();        if (ACTION == MotionEvent.ACTION_DOWN) {            lastDownX = ev.getX();        } else if (ACTION == MotionEvent.ACTION_MOVE) {            float distanceX = Math.abs(lastDownX - ev.getX());            if (distanceX > X_DISTANCE) {                return true;            }        } else {        }        return super.onInterceptTouchEvent(ev);    }}


0 0
原创粉丝点击