ViewPager随手势左滑退出

本文介绍了如何通过自定义处理让ViewPager支持随手势左滑退出的功能。代码示例展示了如何控制ViewPager的滑动方向,这种方法同样适用于解决RecyclerView下拉刷新与Banner滑动冲突的问题。
摘要由CSDN通过智能技术生成

页面随手势左滑退出,ViewPager本身有滑动事件,要想ViewPager也实现随手势滑动退出,需要对ViewPager的事件动些手脚。

看代码,控制ViewPager的上下左右滑动,喜欢拿去。

/**
 * Auther:  winds
 * Data:    2017/4/27
 * Desc:    控制ViewPager的上下左右滑动
 */

public class SolveViewPager extends ViewPager {
    int startX;
    int startY;
    boolean updowneable = false;   //上下滑动事件是否需要父控件拦截    默认不需要 false
    boolean leftable = true;       //向左滑动事件  默认需要true
    boolean rightable = true;      //向右滑动事件  默认需要true

    public SolveViewPager(Context context) {
        super(context);
    }

    public SolveViewPager(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    /**
     * 事件分发, 请求父控件是否拦截事件
     * 1. 右划, 而且是第一个页面, 需要父控件拦截
     * 2. 左划, 而且是最后一个页面, 需要父控件拦截
     * 3. 上下滑动, 不需要父控件拦截
     */
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        switch (ev.getAction()) {
            case MotionEvent.ACTION_DOWN:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值