Android滑动手势在触摸屏电脑中是一个最为基本的操作。在这里我们会通过各种代码的解读来分析Android操作系统是如何侦测到不同的滑动手势。

在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍的方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。

Android SDK提供了一个listener类来侦测各种不同的手势:

SimpleOnGestureListener. 你只需要实现自己所关心的手势就可以了.

Swipe在android里面是叫Fling

首先创建自己的一个手势detector类:class MyGestureDetector extends SimpleOnGestureListener {

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2,

float velocityX, float velocityY) {

}

一个Android滑动手势有几个特征, 比如是在x或者y轴上近乎直线的划动, 中途路径的偏差不能太大, 而且划动需要一定的速度, 所以我们定义几个定量:

private static final intSWIPE_MIN_DISTANCE=120;

private static final intSWIPE_MAX_OFF_PATH=250;

private static final intSWIPE_THRESHOLD_VELOCITY=200;

然后在onFling方法中, 判断是不是一个合理的swipe动作:

if(e1.getX() - e2.getX()>SWIPE_MIN_DISTANCE && Math.abs

(velocityX)>SWIPE_THRESHOLD_VELOCITY) {

viewFlipper.setInAnimation(slideLeftIn);

viewFlipper.setOutAnimation(slideLeftOut);

viewFlipper.showNext();

} else if (e2.getX() - e1.getX()>SWIPE_MIN_DISTANCE &&

Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY) {

viewFlipper.setInAnimation(slideRightIn);

viewFlipper.setOutAnimation(slideRightOut);

viewFlipper.showPrevious();

}

if(e1.getX() - e2.getX()>SWIPE_MIN_DISTANCE &&

Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY) {

viewFlipper.setInAnimation(slideLeftIn);

viewFlipper.setOutAnimation(slideLeftOut);

viewFlipper.showNext();

} else if (e2.getX() - e1.getX()>SWIPE_MIN_DISTANCE &&

Math.abs(velocityX)>SWIPE_THRESHOLD_VELOCITY) {

viewFlipper.setInAnimation(slideRightIn);

viewFlipper.setOutAnimation(slideRightOut);

viewFlipper.showPrevious();

}

这里的viewFlipper是含有多个view的一个container, 可以很方便的调用prev/next view, 加上animation动画, 可以达到一些不错的效果:

viewFlipper= (ViewFlipper)findViewById(R.id.flipper);

slideLeftIn=AnimationUtils.loadAnimation

(this, R.anim.slide_left_in);

slideLeftOut=AnimationUtils.loadAnimation

(this, R.anim.slide_left_out);

slideRightIn=AnimationUtils.loadAnimation

(this, R.anim.slide_right_in);

slideRightOut=AnimationUtils.loadAnimation

(this, R.anim.slide_right_out);

自定义的animation可以查看具体的XML, 比如从左边进来的一个动画:

android.com/apk/res/android">

当然最后不要忘记在你的Activity中override onTouch方法来获取手势action:

@Override

public boolean onTouchEvent(MotionEvent event) {

if (gestureDetector.onTouchEvent(event))

return true;

else

return false;

}

Android滑动手势的相关识别方法就为大家介绍到这里。

【责任编辑:曹凯 TEL:(010)68476606】

android滑动手势侦测,Android滑动手势侦测方法介绍相关推荐

  1. android图片浏览远近,快图浏览编辑图片方法介绍_怎么编辑图片_3DM手游

    既然是图片管理工具,那么快图浏览肯定也是少不了图片编辑功能的.如何使用快图浏览编辑图片呢?下面小编带来的详细的使用方法,有需要的小伙伴一起来看看吧! 编辑照片方法介绍: 1.第一步,下载安装快图浏览, ...

  2. Android 高仿微信朋友圈动态, 支持双击手势放大并滑动查看图片。

    转载请注明出处: http://blog.csdn.net/sk719887916/article/details/40348873 作者skay: 最近参与了开发一款旅行APP,其中包含实时聊天和动 ...

  3. Android ViewFlipper实现多个布局手势切换的效果

    这里用到了前面学过的 手势效果,如果对手势还是不很了解的话可以去看一下这篇文章 Android使用GestureDetector实现手势滑动效果 先看一下布局文件 activity_main.xml ...

  4. Android解决ScrollView中的滑动效果导致GestureDetector中的OnFling不能正常工作问题

    原由:在Activity中使用了ScrollView以后,GestureDetector,手势事件不能正常工作,但移到ScrollView外面以后再手势操作,则又能正常工作,这里给出解决方案 覆写 d ...

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

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

  6. [Android]使用ViewPager实现图片滑动展示

    在淘宝等电商的APP首页经常能看到大幅的广告位,通常有多幅经常更新的图片用于展示促销信息,如下图所示: 通常会自动滚动,也可以根据手势滑动.我没有研究过人家的APP是通过什么实现的,可能有第三方已经封 ...

  7. android qq弹出菜单,Android开发实现qqminihd 左右滑动菜单效果

    类型:编程工具大小:13.8M语言:英文 评分:5.5 标签: 立即下载 观察qqminihd界面,发现其界面能够左右滑动来实现两侧菜单效果. 自定义Layout:ScrollLayout.java ...

  8. Android自定义滑动进度条,Android自定义View实现圆形水波进度条

    每次听到某大牛谈论自定义View,顿时敬佩之心,如滔滔江水连绵不绝,心想我什么时候能有如此境界,好了,心动不如行动,于是我开始了自定义View之路,虽然过程有坎坷,但是结果我还是挺满意的.我知道大牛还 ...

  9. android 仿搜索动画,Android仿京东顶部搜索框滑动伸缩动画效果

    最近使用京东发现,京东顶部的搜索框有一个新的伸缩效果,根据用户的手势滑动,伸缩搜索框.觉得效果还不错,就看了下其他的应用有没有这种伸缩的效果,发现安居客也使用了类似的一种效果,然后就想着实现这样的一种 ...

最新文章

  1. 【转载】springboot:如何优雅的使用mybatis
  2. 通过describe命令学习Kubernetes的pod属性详解
  3. 谷歌发布TensorFlow 1.4与TensorFlow Lattice:利用先验知识提升模型准确度 搜狐科技 10-12 15:29 选自:Google Research Blog 参与:李泽南、
  4. java实现十进制与二进制之间的转换
  5. cute editor详细设置
  6. Echarts实现隐藏x轴,y轴,刻度线,网格
  7. kotlin中判断字符串_Kotlin程序删除字符串中所有出现的字符
  8. c语言程序设计实验实训教程公众号,C语言程序设计基础知道答案公众号
  9. cbitmap 从内存中加载jpg_Pytorch数据加载的分析
  10. mat格式数据集转换为arff与txt格式
  11. 全网最全AE中英文界面对照表分享
  12. PCWORLD评出的十大杀毒软件
  13. 此一去,世间再无马爸爸,相逢已是马老师
  14. 【多轮对话】多轮对话状态追踪技术综述
  15. webpack3:html-webpack-plugin 实现自动修改引入文件名
  16. 母亲产前压力、胎儿大脑连接和分娩时的胎龄之间的交互关系
  17. Android10/11 原生Launcher3深度定制开发
  18. sql server与java连接数据库_Java连接数据库(SQL Server)
  19. Jmeter 分布式压测
  20. 直播预告 | 小姐姐来了·冠军分享暨百度人工智能开源大赛培训

热门文章

  1. Tshock的config.json配置文件翻译(对应5.1.2版本)
  2. 【破解kali 系统登录密码,有手就会】
  3. 用爱心符拼一个爱心(第二次作业)
  4. VS2013 fatal error LNK1207: PDB 格式不兼容
  5. 大话西游2人数最多服务器,大话西游2最早的服务器如今去了哪里?老玩家值得了解...
  6. 小白买电脑看哪些配置?
  7. AdGuard Home更新出错_区服开通时间更新列表
  8. 一、INTOUCH开发环境搭建
  9. 软件设计师2023记录(软考)-数据结构
  10. 支付宝花呗借呗逾期,还不上不还,有哪些影响?