为activity增加左右手势识别

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);
}
时间: 2024-10-14 19:54:20

为activity增加左右手势识别的相关文章

为activity添加左右手势识别

android开发中为activity添加左右手势识别.如右滑关闭当前页面 /* * for左右手势 * 1.复制以下的内容到目标Activity * 2.目标Activity的onCreate()调用initGesture() * 3.目标Activity需implements OnTouchListener, OnGestureListener */ private GestureDetector mGestureDetector; private int verticalMinDistan

Android四大组件--Activity详解

Android四大组件--Activity详解 分类: android android应用android开发 本文的主要内容包括1.activity的建立.配置和使用:2.activity的跳转和传值:3.startActivityForResult:4.activity的生命周期. 1.activity的建立.配置和使用 Activity是一个应用中的组件,它为用户提供一个可视的界面,方便用户操作,比如说拔打电话.照相.发邮件或者是浏览地图等.每个activity会提供一个可视的窗口,一般情况

Android Activity的切换动画(overridePendingTransition)

overridePendingTransition 1.平时Activity的切换是就是从中间弹出来,然后遮盖住之前的Activity.这种效果看到很多后就想给他换成其他的效果,如: 要显示的Acitvity从左边往右的平移进入,被遮盖的Activity从左往右的平移划出. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: pub

Android的Activity屏幕切换动画-左右滑动切换

. --> 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: public void overridePendingTransition (int enterAnim, int exitAnim) 其中: enterAnim 定义Activity进入屏幕时的动画 exitAnim 定义Activity退出屏幕时的动画 overri

理解Android的手势识别

对于触摸屏,其原生的消息无非按下.抬起.移动这几种,我们只需要简单重载onTouch或者设置触摸侦听器setOnTouchListener即可进行处理.不过,为了提高我们的APP的用户体验,有时候我们需要识别用户的手势,Android给我们提供的手势识别工具GestureDetector就可以帮上大忙了. 基础 GestureDetector的工作原理是,当我们接收到用户触摸消息时,将这个消息交给GestureDetector去加工,我们通过设置侦听器获得GestureDetector处理后的手

Android的Activity屏幕切换动画(一)-左右滑动切换

这段时间一直在忙Android的项目,总算抽出点时间休息一下,准备把一些项目用到的Android经验分享一下. 在Android开发过程中,经常会碰到Activity之间的切换效果的问题,下面介绍一下如何实现左右滑动的切换效果,首先了解一下Activity切换的实现,从Android2.0开始在Activity增加了一个方法: public void overridePendingTransition (int enterAnim, int exitAnim) 其中: enterAnim 定义A

Android之Activity生命周期及横竖屏切换

Activity有三个状态: 当它在屏幕前台时(位于当前任务堆栈的顶部),它是激活或运行状态.它就是响应用户操作的Activity. 当它失去焦点但仍然对用户可见时(如右图),它处于暂停状态.即在它之上有另外一个Activity.这个Activity也许是透明的,或者没有完全覆盖全屏,所以被暂停的Activity仍对用户可见.暂停的Activity仍然是存活状态(它保留着所有的状态和成员信息并保持和窗口管理器的连接),但系统处于极低内存时仍然可以杀死这个Activity. 完全被另一个Activ

Android手势识别的发展

在播放器.与手势识别.所以,看看今天的我们Android手势识别. 首先,我们需要站在巨人的肩膀上.有些人举了个例子和说明. 第一章: http://www.2cto.com/kf/201110/109480.html 对于触摸屏.其原生的消息无非按下.抬起.移动这几种,我们仅仅须要简单重载onTouch或者设置触摸侦听器setOnTouchListener就可以进行处理.只是.为了提高我们的APP的用户体验,有时候我们须要识别用户的手势,Android给我们提供的手势识别工具GestureDe

启动其他APK的Activity方法 (转至http://www.cnblogs.com/lijunamneg/archive/2013/02/26/2934060.html)

有两个app,分别叫做App1和App2.App1包含两个Activity,分别叫做App1_A和App1_B.其中App1_A是入口Activity.也就是App1_A设置intent-filter,action为<action android:name="android.intent.action.MAIN" />App2只有一个Activity,叫做App2_A.现在在App2_A中通过startActivity启动App1_A是没问题的.但是启动App1_B的时候报