要实现 页面左右滑动的效果  就一定要由手势识别器, 就是这个对象 GestureDetector。

用法其实很简单,这里 写一下 方便以后用到的时候好找。

步骤就是 这样子 123.。

1. 初始化手势识别器

2  注册 手势识别的 touch 事件 。

就是这么简单。仅仅两步 就能实现识别手势页面切换。

因为 页面切换 在每个 activity  中都有  所以 我们 把手势识别器 初始化   注册  放在baseactivity里面 能够最有效地 利用我们的代码。

package com.example.gesturedemo;

import android.app.Activity;

import android.os.Bundle;

import android.view.GestureDetector;

import android.view.View;

import android.view.MotionEvent;

public abstract class BaseActivity extends Activity {

private GestureDetector mGestureDetector;

@Override

protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub

super.onCreate(savedInstanceState);

//1 初始化 手势识别器

mGestureDetector = new GestureDetector(this,new GestureDetector.SimpleOnGestureListener(){

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,

float velocityY) {// e1: 第一次按下的位置 e2 当手离开屏幕 时的位置 velocityX 沿x 轴的速度 velocityY: 沿Y轴方向的速度

//判断竖直方向移动的大小

if(Math.abs(e1.getRawY() - e2.getRawY())>100){

//Toast.makeText(getApplicationContext(), "动作不合法", 0).show();

return true;

}

if(Math.abs(velocityX)<150){

//Toast.makeText(getApplicationContext(), "移动的太慢", 0).show();

return true;

}

if((e1.getRawX() - e2.getRawX()) >200){// 表示 向右滑动表示下一页

//显示下一页

next(null);

return true;

}

if((e2.getRawX() - e1.getRawX()) >200){ //向左滑动 表示 上一页

//显示上一页

pre(null);

return true;//消费掉当前事件 不让当前事件继续向下传递

}

return super.onFling(e1, e2, velocityX, velocityY);

}

});

}

/**

* 下一个页面

* @param view

*/

public abstract void next(View view);

/**

* 上一个页面

* @param view

*/

public abstract void pre(View view);

//重写activity的触摸事件

@Override

public boolean onTouchEvent(MotionEvent event) {

//2.让手势识别器生效

mGestureDetector.onTouchEvent(event);

return super.onTouchEvent(event);

}

}

然后 让 每个具体的界面 去继承 这个baseactivity     然后实现相应的 next 或者 pre  方法 即可。 为了 显示效果 ,我们定义  几个动画 效果,左进右出,或者右进左出的。  具体 看 小demo 。

android手势滑动页面,Android 手势识别 (左右滑动)实现 页面 切换相关推荐

  1. android手势密码csdn,Android手势密码LockPatternView、LockPasswordUtils、LockPatternUtils等分析...

    Android手势密码LockPatternView.LockPasswordUtils.LockPatternUtils 在使用别人写的这个手势密码的时候,我们通常是有自己的需求,可能这里的代码很多 ...

  2. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法

    本文实例讲述了Android实现通过手势控制图片大小缩放的方法.分享给大家供大家参考,具体如下: 该程序实现的是通过手势来缩放图片,从左向右挥动图片时图片被放大,从右向左挥动图片时图片被缩小,挥动速度 ...

  3. android 手势放缩_AIR Android:放大与缩小手势

    放大与缩小手势(1) 放大与缩小手势对应TransformGestureEvent. GESTURE_ZOOM事件类型,使用时要求两个手指触摸屏幕,同时向外或向内做放缩动作,如图3-2所示. 图3-2 ...

  4. android 手势密码逻辑,[Android开发实战]Android手势密码(支付宝手势密码)实现(支持2.x)...

    原创文章,转载请注明出处:http://blog.csdn.net/ruils/article/details/17081207 在很多安全性比较高的应用程序中,每次打开程序,都会有让用户输入密码,这 ...

  5. Android 手势导航(从下往上滑动进入多任务页面)

    Android系统启动篇 1,<android系统启动流程简介> 2,<android init进程启动流程> 3,<android zygote进程启动流程> 4 ...

  6. 【Android 内存优化】自定义组件长图组件 ( 长图滚动区域解码 | 手势识别 GestureDetector | 滑动计算类 Scroller | 代码示例 )

    文章目录 一.GestureDetector 创建与设置 二.GestureDetector 触摸事件传递 三.触摸滑动操作 四.惯性滑动操作 五.长图滑动组件代码示例 六.运行效果 七.源码及资源下 ...

  7. android studio多页面滑动,Android Studio之多个Activity的滑动切换(二)

    1.由于Android界面上的所有控件一般都位于Layout控件(比如RelativeLayout)之上,而布局控件可以设置响应touch事件,所以可以通过布局控件的setOnTouchListen来 ...

  8. Android手势识别——上下左右滑动、屏幕上下左右中区域处理

    手势识别GestureDetector 关于手势识别是Android为了方便开发人员处理屏幕上的触摸.拖动.单双击.滑动等提供的一组接口.用这个我们可以很方便的在屏幕上做出想要的效果,比如滑动翻页.触 ...

  9. 【Android 手势冲突】Colin带你彻底解决RecyclerView与ScrollView滑动冲突问题,并实现RecyclerView悬停导航栏(附demo哦)

    在新一期的需求中,产品要求我们做出和美团某个页面类似的功能,即一个页面包含在scrollView中,上面一个部分放置一些常用的广告banner.宫格tab等,下面放置一个RecyclerView用于展 ...

最新文章

  1. Meta首个元宇宙平台Horizon被吐槽,用户只配有半截身子!
  2. pcb中几个层的解释
  3. TurboMail荣获2010年度优秀电子邮件产品殊荣
  4. as3+java+mysql(mybatis) 数据自动工具(三)
  5. VB.NET循环体内的局部变量
  6. 机器人整机主要产品规格参数
  7. QT QNetworkInterface::allAddresses();获取了很多无效的地址_Qt编写地图综合应用16-省市轮廓图下载...
  8. Bootstrap组件_警告框
  9. Ubuntu nginx+uwsgi部署Django项目
  10. elk-可视化图标(nginx)
  11. mysql日志恢复的时间格式_mysql binlog 日志恢复数据
  12. vmware虚拟化之vswitch详细资料
  13. 【Spring框架】mvc:default-servlet-handler/的作用
  14. java 新手入门电子书_java基础入门电子版pdf下载-java基础入门电子版百度云pdf高清版-东坡下载...
  15. pandownload复活版下载 | 百度网盘下载速度慢的终极解决方案
  16. 解决​excel里一复制就卡死的经验分享【转】
  17. ECMAScript6词法
  18. Zabbix5.0如何发送短信
  19. 电路中IC器件电压符号的解释
  20. 正则表达式 String中正则匹配的方法

热门文章

  1. 【算法分析】回溯法解数独(九宫格)算法
  2. 裸奔的智能插座:博联Broadlink SP2/SP mini的分析、破解
  3. 初学larval 第二篇(大神绕道哦,针对新手友好的一篇)
  4. foo,bar,baz
  5. PNP问题学习笔记1
  6. HTTP状态码(200、302、404、503)
  7. 2016年7月的数据省市区数据
  8. 语音动画设置 android,Anroid Studio第七期 - 语音动画
  9. 哪位有没有reportbuilder的教程?共享一下。万分感谢!
  10. dedecms教程:单页制作教程