package com.bruce.mobilesafe;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.View;
/**
* Created by bruce on 14/12/30.
*/
public abstract class BaseSetUpActivity extends Activity {
private GestureDetector detector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//实例化
detector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() {
//velocityX x上的速度,velocityY y上的速度 px/s
//e1 第一个点 e2 离开的点
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
//屏蔽斜着的
if(Math.abs(e1.getRawY()-e2.getRawY())>150)
return true;
//屏蔽速度慢得
if(velocityX<150)
return true;
if ((e2.getRawX() - e1.getRawX()) > 200) {
//从左到右,显示上一页
showPre();
}
if ((e1.getRawX() - e2.getRawX()) > 200) {
//从右往左,显示下一页
showNext();
}
return true;//处理完成,false处理还要继续
}
}
);
}
/**
* 进入下一个页面
*
* @param view
*/
public void next(View view) {
showNext();
}
/**
* 进入上一页
*
* @param view
*/
public void pre(View view) {
showPre();
}
public abstract void showPre();
public abstract void showNext();
/**
* 手势识别器的使用
*/
@Override
public boolean onTouchEvent(MotionEvent event) {
detector.onTouchEvent(event);
return super.onTouchEvent(event);
}
}
Activity滑动手势检测
最新推荐文章于 2024-07-07 03:22:24 发布
本文介绍了一个用于实现手势导航功能的抽象基类BaseSetUpActivity。该类通过GestureDetector监听水平滑动手势,并根据手势方向切换页面。适用于Android应用开发中需要手势控制的场景。
607

被折叠的 条评论
为什么被折叠?



