为activity增加左右手势识别
2014-07-21 23:13
211 查看
android开发中为activity增加左右手势识别,如右滑关闭当前页面
/*
* for左右手势
* 1.复制下面的内容到目标Activity
* 2.目标Activity的onCreate()调用initGesture()
* 3.目标Activity需implements OnTouchListener, OnGestureListener
*/
private GestureDetector mGestureDetector;
private int verticalMinDistance = 180;
private int minVelocity = 0;
private void initGesture() {
mGestureDetector = new GestureDetector((OnGestureListener) this);
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {
// 切换Activity
// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);
// startActivity(intent);
//Toast.makeText(this, "向左手势", Toast.LENGTH_SHORT).show();
} else if (e2.getX() - e1.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {
// 切换Activity
// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);
// startActivity(intent);
//Toast.makeText(this, "向右手势", Toast.LENGTH_SHORT).show();
finish();
overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
}
return false;
}
@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return mGestureDetector.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
/*
* for左右手势
* 1.复制下面的内容到目标Activity
* 2.目标Activity的onCreate()调用initGesture()
* 3.目标Activity需implements OnTouchListener, OnGestureListener
*/
private GestureDetector mGestureDetector;
private int verticalMinDistance = 180;
private int minVelocity = 0;
private void initGesture() {
mGestureDetector = new GestureDetector((OnGestureListener) this);
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
if (e1.getX() - e2.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {
// 切换Activity
// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);
// startActivity(intent);
//Toast.makeText(this, "向左手势", Toast.LENGTH_SHORT).show();
} else if (e2.getX() - e1.getX() > verticalMinDistance && Math.abs(velocityX) > minVelocity) {
// 切换Activity
// Intent intent = new Intent(ViewSnsActivity.this, UpdateStatusActivity.class);
// startActivity(intent);
//Toast.makeText(this, "向右手势", Toast.LENGTH_SHORT).show();
finish();
overridePendingTransition(R.anim.push_right_in, R.anim.push_right_out);
}
return false;
}
@Override
public void onLongPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2,
float arg3) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return mGestureDetector.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent arg0) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
mGestureDetector.onTouchEvent(ev);
return super.dispatchTouchEvent(ev);
}
相关文章推荐
- android开发之为activity增加左右手势识别示例
- 为activity添加左右手势识别
- android 左右页面滑动(滑屏)增加layout文件 而不是drawable(还有activity)
- activity 手势识别器 GestureDetector
- cocos2d-x 3.0 中增加手势识别功能
- android 左右页面滑动(滑屏)增加layout文件 而不是drawable(还有activity)
- activity 监听手势滑动 上下左右
- Android手势识别——上下左右滑动、屏幕上下左右中区域处理
- 【2048】第一期:搭建上下左右手势识别的框架
- Android学习笔记(手势识别器,左右滑动)
- ios手势识别(双击、捏、旋转、拖动、划动、长按, 上下左右滑动)
- 关于安卓activity和listview手势识别处理和应用
- 苹果有默认的手势识别,左右移动
- Android三种左右滑动效果 手势识别(转)
- 手势(Gesture)的增加和识别
- 实现Fragment左右滑动onFling的手势识别
- Android 手势识别 (左右滑动)实现 页面 切换
- iOS开发UI篇—ios手势识别(双击、捏、旋转、拖动、划动、长按, 上下左右滑动)
- Android三种左右滑动效果 手势识别
- Android 手势识别 (左右滑动)实现 页面 切换