继续上次未完成的手势封装:
还是直接代码:
手势类别:
/**
* 枚举类型
* 说明到底需要判断的手势有哪些
* 只判断Y轴,只判断X轴,或者Y轴X轴都要判断
* @author Administrator
*
*/
public enum GestureType {
/**
* 只判断Y轴
*/
GESTURE_ONLY_Y,
/**
* 只判断X轴
*/
GESTURE_ONLY_X,
/**
* 同时判断X轴和Y轴
*/
GESTURE_BOTH_XY,
/**
* 不仅仅判断x轴 ,y轴,
* 同时判断y轴是在左半屏幕滑动还是右半屏幕滑动
*/
GESTURE_X_LEFTY_RIGHTY;
}
手势动作类型:
public class TouchActionType {
/**
* 手指接触到屏幕
*/
public static final int ACTION_TOUCH_DOWN = 0x0001;
/**
* 手指从屏幕上拿起
*/
public static final int ACTION_TOUCH_UP = 0x0002;
/**
* X轴左滑手势
*/
public static final int ACTION_X_LEFT = 0x0003;
/**
* X轴右滑手势
*/
public static final int ACTION_X_RIGHT = 0x0004;
/**
* Y轴上拉手势 如上拉加载更多
*/
public static final int ACTION_Y_UP = 0x0005;
/**
* Y轴下拉手势,如下拉刷新
*/
public static final int ACTION_Y_DOWN = 0x0006;
/**
* Y轴上拉手势 左屏
*/
public static final int ACTION_Y_LEFT_UP = 0x0007;
/**
* Y轴下拉手势 左屏
*/
public static final int ACTION_Y_LEFT_DOWN = 0x0008;
/**
* Y轴上拉手势 右屏
*/
public static final int ACTION_Y_RIGHT_UP = 0x0009;
/**
* Y轴下拉手势 右屏
*/
public static final int ACTION_Y_RIGHT_DOWN = 0x0010;
}
手势管理关键类,重写 ontouchlistener,你可以选择是否让事件传递到下层继续处理,在listview等有滑动事件中,必须设置为FALSE,否则会出现控件的滑动事件冲突:
使用 setWithoutOther(boolean flag)方法来设置。
import android.annotation.SuppressLint;
import android.os.Handler;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
i