为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-13 20:37:36

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

为activity增加左右手势识别

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

Android 利用addView 动态给Activity添加View组件

本文主要讲述如何动态给UI界面添加布局和控件,在编程的时候很多时候需要动态显示一些内容,在动态添加View的时候,主要使用addView方法. 1. addView方法简介 在Android 中,可以利用排版View的 addView 函数,将动态产生的View 物件加入到排版View 中. 例子如下: 界面代码: <LinearLayout android:id="@+id/viewObj" android:layout_width="wrap_content&quo

android——activity添加退出动画

在finish()语句后加 //该方法的参数:前者是将要进入activity的进入动画,后者是正要退出activity的动画 overridePendingTransition(R.anim.abc_fade_in,R.anim.login_activity_out); 2.特别注意两个动画的时间要一致:

andriod添加新的控件以及Activity和相应的界面

新建一个android application工程 添加控件: 点击res中layout中的activity.xml. 切换到GraphicLayout,拖动一个控件或者直接在.xml中添加代码 点击保存,可以在R.java的id中看到新添加的控件id(许多同学没有点保存是不会更新R,java的) 添加Activity: 新建一个class,superclass选择android.app.Activity 在androidMainifest.xml中,切换到application,在applic

android Activity 的生命周期 以及横屏竖屏切换时 Activity 的状态变化

生命周期Android 系统在Activity 生命周期中加入一些钩子,我们可以在这些系统预留的钩子中做一些事情.例举了 7 个常用的钩子:protected void onCreate(Bundle savedInstanceState)protected void onStart()protected void onResume()protected void onPause()protected void onStop()protected void onRestart()protecte

Android Activity生命周期与启动模式

Activity的完整生命周期如下图: Activity的加载模式有四种: standard: 标准模式,默认的加载模式,每次通过这种模式启动目标Acitivity,都创建一个新的实例,并将该Activity添加到当前栈中. singleTop: 与标准模式类似,只有当Activity位于Task顶时,系统不会重新创建目标Activity的示例,而是直接复用已有的Activity实例. singleTask: 如果要启动的Activity不存在,系统创建Activity实例,并将它加入栈顶 如果

Android基础总结之三:Activity的四种Launcher Mode(转)

转:http://m.blog.csdn.net/blog/shift_wwx_2010/9225951 •••••••••••••••••••••••••••••••••••••••••••••••••••••••• 前言:这篇文章参考的资料比较多,我觉得这个launcher mode比较关键,我会尽量完善再完善. launchMode在多个Activity跳转的过程中扮演着重要的角色,它可以决定是否生成新的Activity实例,是否重用已存在的Activity实例,是否和其他Activity

在AndroidManifest(清单文件)中注册activity(活动)及配置主活动、更改App图标、App名称、修改隐藏标题栏

打开app/src/main/AndroidManifest. 1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.administrator.myapplication" > 4 5 &

Android的Activity组件

本章主题是Activity组件:Activity是Android四大组价之一,其重要地位自然不用说."Activity是应用程序中可见的交互组件的基类,大致上等同于传统桌面应用个程序开发中的窗体."(引自---<Android 4 高级编程>) 每一个Activity都表示一个屏幕,应用程序会把它呈现给用户.应用程序越复杂,需要的屏幕可能就越多.典型情况下,这至少包括一个用来处理应用程序的主UI功能的主界面屏幕.这个主界面一把由许多Fragment组成,并且通常由一组次要A