页面随手势左滑退出,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: