根据速度或其他变量向左、向右、向上和向下滑动

2024-04-17

我有一个从简单的手势扩展而来的类,我正在使用 onfling 方法:

class MyGestureListener extends GestureDetector.SimpleOnGestureListener{
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {
        // TODO Auto-generated method stub
        float e1_X = e1.getX();
        float e1_Y = e1.getY();
        float e2_X = e1.getX();
        float e2_Y = e2.getY();
        if(velocityX > 0 && velocityX > velocityY){
            text.setText("Swipe left");
        }else if(velocityX < 0 && velocityX < velocityY){
            text.setText("Swipe right");
        }else if(velocityY < 0 && velocityX > velocityY){
            text.setText("Swipe down");
        }else if(velocityY > 0 && velocityX < velocityY){
            text.setText("Swipe up");
        }
        return super.onFling(e1, e2, velocityX, velocityY);
    }
}

我知道这取决于某些角度,但我做不到,我尝试使用velocityX和velocityY,只有当你精确地做到这一点时它才起作用。但我想要的是一个“错误”的角度:如果你对角滑动,例如向上和向右,我需要选择哪个是好方法。


您应该检查速度和距离。这是水平滑动检测器的示例。您可以以相同的方式添加垂直检测。

public class HSwipeDetector extends SimpleOnGestureListener {
    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;

    @Override
    public boolean onFling(final MotionEvent e1, final MotionEvent e2, final float velocityX, final float velocityY) {
        if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {  return false;  }

        /* positive value means right to left direction */
        final float distance = e1.getX() - e2.getX();
        final boolean enoughSpeed = Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY;
        if(distance > SWIPE_MIN_DISTANCE && enoughSpeed) {
            // right to left swipe
            onSwipeLeft();
            return true;
        }  else if (distance < -SWIPE_MIN_DISTANCE && enoughSpeed) {
            // left to right swipe
            onSwipeRight();
            return true;
        } else {
            // oooou, it didn't qualify; do nothing
            return false;
        }
    }

    protected void onSwipeLeft() { 
        // do your stuff here
    }

    protected void onSwipeRight() {   
        // do your stuff here
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据速度或其他变量向左、向右、向上和向下滑动 的相关文章

  • 如何根据运行的 jar 的结果让我的 ant 任务通过或失败?

    我正在运行 CrossCheck 无浏览器 js 单元测试 作为 ant 脚本的一部分 如果 CrossCheck 测试失败 我希望 ant 报告失败 这是 build xml 中的相关部分
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • Android 改变 ImageView / Bitmap 的颜色

    我需要找到一种方法来改变 Android 中位图的颜色 我需要在我的应用程序中平滑地替换 更改椭圆形图像的颜色 具体取决于int价值 我需要类似的东西myValue 5比改变我的图像的颜色RED and if myValue 322将颜色更
  • 来自十六进制代码的 Apache POI XSSFColor

    我想将单元格的前景色设置为十六进制代码中的给定颜色 例如 当我尝试将其设置为红色时 style setFillForegroundColor new XSSFColor Color decode FF0000 getIndexed 无论我在
  • 需要使用 joda 进行灵活的日期时间转换

    我想使用 joda 解析电子邮件中的日期时间字符串 不幸的是我得到了各种不同的格式 例如 Wed 19 Jan 2011 12 52 31 0600 Wed 19 Jan 2011 10 15 34 0800 PST Wed 19 Jan
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 使用嵌套的 hashmap 参数发送 volley 请求

    我正在使用 android volley 框架向我的服务器发送 jsonobject 请求 get 请求工作正常 现在我想发送一个带有请求参数的 post 请求 该请求参数是嵌套的 hashmap 我重写 getparams 方法 但它期望
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • 如何避免 ArrayIndexOutOfBoundsException 或 IndexOutOfBoundsException? [复制]

    这个问题在这里已经有答案了 如果你的问题是我得到了java lang ArrayIndexOutOfBoundsException在我的代码中 我不明白为什么会发生这种情况 这意味着什么以及如何避免它 这应该是最全面的典范 https me
  • Android:确定 2.2 及更高版本上的摄像头数量

    我的应用程序需要在 Android 2 2 及更高版本上运行 我需要一种方法来确定可用摄像机的数量 有很多帖子解决了这个问题 但我找不到一个有效的 一种解决方案是简单地检测操作系统版本 任何 2 2 版本的设备都仅限于 1 个摄像头 即使该
  • 返回 Java 8 中的通用函数接口

    我想写一种函数工厂 它应该是一个函数 以不同的策略作为参数调用一次 它应该返回一个函数 该函数根据参数选择其中一种策略 该参数将由谓词实现 嗯 最好看看condition3为了更好的理解 问题是 它没有编译 我认为因为编译器无法弄清楚函数式
  • 使用布尔值进行冒泡排序以确定数组是否已排序

    我有以下用于冒泡排序的代码 但它根本不排序 如果我删除布尔值那么它工作正常 我知道 由于我的 a 0 小于所有其他元素 因此没有执行交换 任何人都可以帮助我解决这个问题 package com sample public class Bub
  • Resteasy 可以查看 JAX-RS 方法的参数类型吗?

    我们使用 Resteasy 3 0 9 作为 JAX RS Web 服务 最近切换到 3 0 19 我们开始看到很多RESTEASY002142 Multiple resource methods match request警告 例如 我们
  • 如何在Android中解析xml类型的HTTPResponse

    我有一个 Android 应用程序 我使用 POST 方法来获取响应 这是我的代码 HttpResponse httpResponse httpclient execute httppost HttpEntity resEntity htt
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • 如何使用play框架上传多个文件?

    我在用play framework 2 1 2 使用java我正在创建视图来上传多个文件 我的代码在这里 form action routes upload up enctype gt multipart form data
  • 具有矢量可绘制的 ImageView 的 Resources$NotFoundException

    我遇到了崩溃 Resources NotFoundException用于在活动创建时绘制的矢量 21 日前崩溃 安卓工作室2 1 支持库24 0 0 Gradle插件2 1 0 目标SDK 23 最小SDK 15 buildTools版本
  • 异步更新后更新Android Listview

    我正在将 HTTP 调用从同步调用转换为异步调用 由于连接在后台运行 因此当我最初设置列表适配器时 数据不存在 如何在 HTTP 调用后更新列表适配器 我尝试了一些方法 例如在数据发送回之前不设置适配器并再次设置适配器 但没有任何效果 这是
  • 在浏览器刷新中刷新检票面板

    我正在开发一个付费角色系统 一旦用户刷新浏览器 我就需要刷新该页面中可用的统计信息 统计信息应该从数据库中获取并显示 但现在它不能正常工作 因为在页面刷新中 java代码不会被调用 而是使用以前的数据加载缓存的页面 我尝试添加以下代码来修复

随机推荐

  • 重新加载表单时如何保留文本框中的值

    我有一个非常简单的 vba 宏应用程序 由 2 个文本框和命令按钮组成 这个想法是用户需要在文本框中输入数值 然后单击按钮将其禁用 这样他们就无法更改该值 当表单重新加载时 数值会丢失 我必须重新输入另一个值 我想要的是当表单重新加载时 数
  • Sequelize 如何查找具有多个 where 子句和时间戳的行 > NOW()

    我该如何使用 Sequelize 来做到这一点 SELECT FROM sessions WHERE user id AND token AND expires gt NOW 这就是我想要做的 假设Session是一个 Sequelize
  • 将值添加到列表

    下面是我的代码 List
  • Twitter Bootstrap - row-fluid 的位置问题

    我目前正在使用 Twitter bootstrap 构建一个网站 这太棒了 我的布局使用 div class row div class span6 div div class span6 div div class span6 div d
  • 为什么调用 BitBlt 或 CopyRect 时会失去透明度?

    Problem 我正在尝试从 32x32 块复制TBitmap into a TPaintbox这是我的地图编辑器 但我似乎无法使透明度正常工作 见下图 注意 出于演示和测试的目的 我在 TPaintbox 下方放置了一个 TImage 这
  • Java 中什么时候必须有默认构造函数和参数化构造函数?

    很多时候我遇到一个异常 说 默认构造函数的实现丢失 很多时候 参数化构造函数的定义本身就可以完成所有工作 我想知道在什么条件下会发生这种情况 如果类中不存在构造函数 则在编译时添加一个默认构造函数 如果类中存在任何一个参数化构造函数 则在编
  • WordPress 迁移中主页未加载,所有其他页面均加载

    似乎还没有人遇到过这个问题 我刚刚将一个小型 WordPress 网站从 iPage 上的测试服务器空间迁移到 HostGator 上的客户端服务器 当我在新服务器上登录 WordPress 时 该网站显示正常 但如果我清除缓存并继续运行一
  • 无法调试 Android 应用程序

    我尝试在模拟器和设备上调试 Android 应用程序 但我总是收到消息 等待调试器 等待调试器附加到进程 我真的不知道如何设置环境和应用程序来运行调试 如果你们中的任何人能够提供任何有用的提示 我将非常感激 问题出在主机配置文件中 C Wi
  • 插入事务和参数?

    我正在学习 VB Net 需要使用开源 System Data SQLite ADO Net 解决方案来处理 SQLite 数据库 我在 HOWTO 部分找到的示例仅是 C 语言的 有人可以在 VB Net 中提供一个简单的示例吗 我可以研
  • 塔楼高度之间的最小差异?

    我正在做一些面试问题 我看到了这个 已知 n 座塔的高度和 k 值 您必须将每个塔的高度增加或减少 k 您需要最小化最长和最短塔的高度之间的差异并输出该差异 我想答案将是 maxheight k minheight k 我已经尝试过一些测试
  • 如何禁用 Android Oreo 中用于 espresso 测试的新自动填充功能

    在 Android 设备上运行测试sdk 26导致他们因为新的失败Autofill https developer android com guide topics text autofill html当 espresso 尝试单击字段时隐
  • 如何在rails中使用动态绑定执行原始更新sql

    我想执行一个更新原始 SQL 如下所示 update table set f1 where f2 and f3 这条 SQL 将被执行ActiveRecord Base connection execute 但我不知道如何将动态参数值传递到
  • 捕获测试用例顺序

    我可以保证多个的执行顺序吗TEST CASEs with Catch https github com philsquared Catch 我正在使用 LLVM 测试一些代码 它们有一些我需要显式初始化的卑鄙的全局状态 现在我有一个这样的测
  • RODBC 错误 - ODBC 连接失败 - 无法使用我的 Mac 连接到 MySQL(小牛)

    我正在尝试在我的 mac 小牛 上使用 RODBC 通过 R 连接到 mysql 数据库 但经过几个小时的愚蠢努力后 我仍然无法让它工作 当我尝试连接到数据库时 RODBC 抛出此错误 错误消息非常简洁 我不知道这意味着什么 ch 我按照以
  • AWS RDS 公共访问

    我对 AWS 配置感到困惑 我的目标是创建一个可从网络内部和外部访问的数据库 这是我所拥有的 RDS 实例运行 postgresql VPC 内部的连接正常工作 端点被设置为可公开访问 当从外部访问时 实际上确实可以解析 但是 连接挂起 表
  • 如何验证一个 XSD 架构是另一个 XSD 架构的子集?

    如何验证一个 XSD 架构是否是另一个 XSD 架构的子集 我们正在使用 蓝图 XSD 模式的集合 定义子组件可用的所有可能的输入或输出 创建一个系统应用程序 许多子组件正在被实现 并且这些子组件使用 XML 文件在它们之间传递数据 每个子
  • 选择特定日期之后的数据

    我希望能够从数据框中选择特定日期之后或之前的日期 例如 使用黄金价格的 quandl 数据 pGold lt read csv http www quandl com api v1 datasets BUNDESBANK BBK01 WT5
  • 从光滑表定义创建表

    在 PlaySlick 示例中 有一个包含示例数据访问对象的文件 https github com playframework play slick blob master samples basic app dao CatDAO scal
  • 条件渲染和 ReactCSSTransitionGroup 动画

    我制作了一个小应用程序 它根据 Redux 状态呈现不同的组件 我想在其中一个组件渲染时应用 淡入淡出 动画 但是 由于某种原因 它对我不起作用 这是我到目前为止所拥有的 内容 js class Content extends Compon
  • 根据速度或其他变量向左、向右、向上和向下滑动

    我有一个从简单的手势扩展而来的类 我正在使用 onfling 方法 class MyGestureListener extends GestureDetector SimpleOnGestureListener Override publi