Android 滑动手势侦测方法介绍

从零理解域随机化:通过Isaac Lab的events.py掌握Sim-to-Real关键技术 本文深入解析域随机化技术如何通过Isaac Lab的events.py实现Sim-to-Real迁移,提升机器人策略在真实世界的鲁棒性。从刚体属性到环境条件的系统级随机化,详细介绍了工程实践中的关键参数配置与调试技巧,帮助开发者有效缩小仿真与现实的差距。 阅读详情
 在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 int SWIPE_MIN_DISTANCE = 120;
    private static final int SWIPE_MAX_OFF_PATH = 250;
    private static final int
    SWIPE_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, 比如从左边进来的一个动画:

    < set xmlns:android=”http://schemas.
    android.com/apk/res/android”>

    < translate
    android:fromXDelta=”100%p”
    android:toXDelta=”0″
    android:duration=”800″/>
    < /set>

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

    @Override
    public boolean onTouchEvent(MotionEvent event) {
    if (gestureDetector.onTouchEvent(event))
    return true;
    else
    return false;
    }





安卓学习笔记14:安卓手势操作编程 文章目录零、学习目标一、安卓手势操作原理二、安卓手势类与接口1、MotionEvent2、GestureDetector3、OnGestureListener三、教学案例——利用手势切换美女图片(一)运行效果(二)涉及知识点(三)实现步骤1、创建安卓应用【SwtichBelleImageByGesture】2、将美女图片素材拷贝到drawable目录3、主布局资源文件activity_main.xml4、主界面类MainActivity5、启动应用,查看效果四、课后作业 零、学习目标 能说出安卓手势操作原 阅读详情

相关推荐

边缘设备部署全攻略——ARM架构设备的OpenClaw优化(2026实测)

本文详细介绍了ARM架构设备上OpenClaw的部署与优化方案。针对边缘计算场景,文章系统分析了三类ARM设备:嵌入式设备(如Raspberry Pi 4、Jetson Nano)、工业设备(如BeagleBone、i.MX8M Plus)和服务器设备(如Marvell Armada、AWS Graviton3),并提供了详细的性能与功耗对比数据。在系统配置方面,重点推荐了Ubuntu ARM、Debian ARM和OpenWRT三种操作系统,包括内核版本、必备软件包和针对边缘环境的优化策略(如CPU频率调

博客 369

android滑动手势侦测,Android滑动手势侦测方法介绍

Android滑动手势在触摸屏电脑中是一个最为基本的操作。在这里我们会通过各种代码的解读来分析Android操作系统是如何侦测到不同的滑动手势。在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。Android SDK提供了一个listener类来...

weixin_26833939的博客 441

基于Matlab的异步电动机故障运行状态的仿真.pdf

基于Matlab的异步电动机故障运行状态的仿真.pdf

Android中级——滑动分析

如上,后面的矩形为画布,中间的矩形则为屏幕的可视区域,若调用scrollBy(20,10),则结果为可视区域向右下方移动(而对于Button则是向左上方移动),如下图。如上实现在ACTION_UP时,将控件回归原位,利用Scroller和computeScroll(),通过不断获取当前滚动值,调用scrollTo(),实现平滑移动。基本思想是:当触摸View时记下坐标,当手指移动时记下移动后的坐标,从而获取偏移量修改View的坐标,不断重复实现滑动。可通过如下方式获取控件在视图坐标系的(x, y)坐标。

松仔Log的博客 1139

Android滑动分析以及各种实现

一、滑动效果的产生     滑动一个View,本质区别就是移动一个View。改变当前View所在的坐标,原理和动画相似不断改变坐标位置实现。实现View的滑动就必须监听滑动的事件,并且根据事件传入的坐标,动态且不断改变View的坐标,从而实现View跟随用户触摸的滑动滑动。 (1)、Android的坐标系         Android中将屏幕最左上角的顶点作为Android坐标系的原

onealllei的博客 587

学习|Android侧滑框架SmartSwipe使用

学更好的别人,做更好的自己。——《微卡智享》本文长度为3630字,预计阅读8分钟Android侧滑框架前两天看到一篇文章介绍了一些开源框架,其中无意间看到了这个SmartSwipe的侧滑...

Vaccae的博客 1275

Android手势检测——GestureDetector全面分析

出处: 炎之铠邮箱:yanzhikai_yjk@qq.com 博客地址:http://blog.csdn.net/totond 本文原创,转载请注明本出处! 前言  在很多视频播放器中,都存在使用不同的手势来控制进度、亮度\音量和暂停播放等功能。Android提供了一个GestureDetector来帮助我们识别一些基本的触摸手势(还有ScaleGestureDetector可以识

totond的博客 3万+

Android滑动手势侦测方法介绍

Android滑动手势侦测方法介绍 Android滑动手势侦测方法介绍 - 51CTO.COMAndroid滑动手势侦测方法介绍http://developer.51cto.com 2010-01-28 14:57 佚名 javaeye.com 我要评...

117

Android滑动手势侦测方法介绍(转)

转自:[url]http://developer.51cto.com/art/201001/181289.htm[/url] 在Android手机操作系统中支持各种滑动手势的操作。我们在这里为大家介绍方法主要就是针对这些手势如何能在Android平台中侦测出来。下面就让我们大家一起来看看Android滑动手势具体的识别方法吧。 Android SDK提供了一个listene...

robin_323的博客 196

教你如何运用安卓应用手势编程

在安卓系统中,每一次手势交互都会依照以下顺序执行,这个顺序可以说就是安卓手势操作的原理。 触屏一刹那,触发一个MotionEvent事件。该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象。 通过GestureDetector(手势侦测器)将此MotionEvent对象移交给OnGestureListener。 OnGestureListener监听器获得该事件对象,然后根据该对象封装的信息,做出合适的处理。

qq_64505257的博客 293

安卓手势编程

针对手势滑动,我们编写onFling()事件处理方法,通过手势切换图片。这个事件处理方法有四个参数,滑动起点信息封装在e1里,滑动终点信息封装在e2里,第3个参数是手势横向滑动速度,第4个参数是手势纵向滑动速度。基于Empty Activity模板创建安卓应用 - SwtichBelleImageByGesture。主布局资源文件activity_main.xml。字符串资源文件 - strings.xml。通过资源标识符获取控件实例。单击【Finish】按钮。初始化图像资源标识符数组。

weixin_63975980的博客 155

安卓Day13:安卓手势操作

安卓手势操作的一些基本内容,以及实训操作

m0_66295378的博客 736

安卓笔记4.3 安卓手势编程

安卓笔记4.3 安卓手势编程

an50525的博客 128

Android滑动手势处理

Android滑动手势处理Android SDK提供了一个listener类来侦测各种不同的手势: SimpleOnGestureListener.  你只需要实现自己所关心的手势就可以了. Swipe在android里面是叫Fling首先创建自己的一个手势detector类: Java代码 class MyGestureDetector extends SimpleOnGest

星际之旅 3124

Android滑动手势侦测方法

<br />Android SDK提供了一个listener类来侦测各种不同的手势:<br />SimpleOnGestureListener. 你只需要实现自己所关心的手势就可以了.<br /> <br />首先创建自己的一个手势detector类:<br /> <br />class MyGestureDetector extends SimpleOnGestureListener {<br /> @Override<br /> public boolean onFling(MotionEvent e1

iamfafa的专栏 2568
上一篇: C++默默编写并调用哪些函数
下一篇: Android 用SlidingDrawer实现抽屉效果
playbar
博客等级 码龄19年 477粉丝 310原创
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值