--------------------监听屏幕滑动事件------------
-----(2).多个界面监听手势识别器
// 1.声明一个手势识别器
private GestureDetector gd;
// 2.初始化一个手势识别器
gd = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
// 滑动事件
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
// e1表示第一个按下的点 e2表示第二个按下的点
// 识别下一步 第一个点要比第二个点大200个像素
if ((e1.getRawX() - e2.getRawX()) > 200) {
ShowNext();
// 事件已经处理 无需在进行处理返回true
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
// 3.用手势识别器,检查屏幕上的手势
public boolean onTouchEvent(MotionEvent event) {
gd.onTouchEvent(event);
return super.onTouchEvent(event);
}
-----(2).多个界面监听手势识别器
创建一个类继承Activity
创建需要的抽象方法
public abstract class BaseSetupGestureDetector extends Activity {
private GestureDetector gd;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gd = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
// 上一步
if ((e2.getRawX() - e1.getRawX()) > 200) {
ShowPrevious();
return true;
}
// 下一步
if ((e1.getRawX() - e2.getRawX()) > 200) {
ShowNext();
return true;
}
return super.onFling(e1, e2, velocityX, velocityY);
}
});
}
// 3.用手势识别器,检查屏幕上的手势
public boolean onTouchEvent(MotionEvent event) {
gd.onTouchEvent(event);
return super.onTouchEvent(event);
}
public abstract void ShowNext();
public abstract void ShowPrevious();
// 点击事件
public void Setup_Next(View view) {
ShowNext();
}
// 点击事件
public void Setup_Previous(View view) {
ShowPrevious();
}
}