Android 开始屏幕上使用的手势

2023-12-26

使用什么 Android Api 来在 Android 上的开始屏幕上向左或向右滚动?


最简单的方法是检测“Fling”手势。 Android API 有一个内置的检测器,用于基本手势,如快速滑动、滚动、长按、双击、捏合缩放等。

该文档位于http://developer.android.com/reference/android/view/GestureDetector.html http://developer.android.com/reference/android/view/GestureDetector.html.

您要做的就是创建 GestureDetector 的实例,重写您有兴趣检测手势的视图的 onTouchEvent 方法,并将 MotionEvent 传递给 GestureDetector。

您还必须向 GestureDetector 提供 OnGestureListener 实现(最容易扩展 SimpleOnGestureListener),它将处理所有手势事件。

Example:

class MyView extends View
{
    GestureDetector mGestureDetect;

    public MyView(Context context)
    {
        super(context);
        mGestureDetect = new GestureDetector(new SimpleOnGestureListener()
        {

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) 
        {
        //check if the fling was in the direction you were interested in
        if(e1.getX() - e2.getX() > 0)
        {
        //Do something here
        }
        //fast enough?
        if(velocityX > 50)
        {
        //etc etc
        }

        return true;
        }
        }
    }

    public boolean onTouchEvent(MotionEvent ev)
    {
        mGestureDetector.onTocuhEvent(ev);
        return true;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 开始屏幕上使用的手势 的相关文章

随机推荐

  • 如何读取xunit测试项目中的appsettings.json?

    我正在尝试为 MVC 控制器中编写的方法之一编写测试用例 并且在该方法中我正在读取 AppSettings json 文件 如下 public class MemberController ControllerBase IMemberRep
  • 如何禁用控制器规范中的 before_action ?

    我在我的控制器规范中使用了它 controller class skip before action 具体来说 在这种情况下 controller class skip before action require authorization
  • 使用 TypeScript 2.0 导入 js 文件

    Abstract 我正在尝试从外部位置导入 js 文件 即节点模块 我正在尝试使用 commonjs 模块模式来做到这一点 但是import不想使用 js 文件类型 直到我在同一文件夹中的 js 文件附近添加 d ts 文件 但问题是我不想
  • 使用 NestJS 基于模式获取多个 Redis 缓存键

    目前我已经创建了一个带有 Redis 缓存的 NestJS 应用程序 我希望能够通过使用一种模式从 Redis 缓存中获取多个键 在该模式中我可以获得包含某个字符串的所有键 目前我正在使用缓存管理器 and 缓存管理器 redis 存储作为
  • 如何将位图图像设置为按钮背景图像

    gridcell Button row findViewById R id calendar day gridcell gridcell setText Day 1 URL url new URL http 172 16 4 29 81 p
  • 如何使用文本框值过滤多项选择中的值

    我有一个文本框和多个选择框 当我在文本框中写入内容时 它会在多重选择中过滤该文本并仅显示匹配的值
  • IntelliJ 的“重新导入所有 Maven 项目”按钮如何工作?

    IntelliJ 的 重新导入所有 Maven 项目 按钮实际上是如何工作的 我问这个是因为我看到 IntelliJ 重新导入按钮的行为是不同的比运行mvn命令与 U争论 我不清楚为什么 我认为您错过了本地和远程存储库的部分 如果你跑mvn
  • 如何将numpy数组中的元素随机设置为0

    首先我创建我的数组 myarray np random random integers 0 10 size 20 然后 我想将数组中 20 的元素设置为 0 或其他数字 我该怎么做 敷面膜吗 您可以使用以下方法计算指数np random c
  • Mysql 全文搜索不支持特殊字符

    问题 我使用的是 MYSQL 和 PHP 最新版本 我们在 MYSQL FULLTEXT 搜索中面临这个问题 它不适用于特殊字符 示例 在域表中 名称 字段具有以下三个值 1 https www google com 2 https www
  • XMLDocument.Importnode 失败

    我目前正在开发一个项目 我必须创建 XMLNode 并将它们插入 XML 文件中的特定位置 XMLNode 是一个包含大约 90 个单元的行
  • 经验丰富的 C++ 开发人员快速切换到 Java [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找在线教程 书籍 这些教程 书籍假定对 OOP 设计模式概念有扎实的了解 并强调 C 和 Jav
  • 使文本行具有相等的长度

    居中h1文本的元素落在多行上 换行符使文本看起来像这样 This is a header that takes up two lines This is a header that takes up three lines because
  • std::vector::assign - 重新分配数据?

    我正在使用 STL 库 我的目标是尽量减少数据重新分配的情况 我想知道 是吗 std vector assign size type n const value type val 如果大小未更改或实际上只是分配新值 例如 使用operato
  • 将 C++ 函数指针分配给同一对象的成员函数

    如何让 test calculate 中的函数指针分配 也许还有其余部分 发挥作用 include
  • 初始化元素并一键开始拖动

    At mousedown我想在 DOM 中注入一个新元素并立即开始拖动它 即触发dragstart 无需再次单击新元素 我在我的项目中经常使用 d3 js 但不知道能不能触发dragstart使用 d3 事件 所以我尝试使用 jQuery
  • Django 管理员不处理 ProtectedError 异常

    我有一个 Django 应用程序 它的模型如下 class Foo models Model name models CharField max length 100 我在此模型中有一个特定实例 其名称为 bar 例如 我想防止删除该实例
  • 如何将 DataFrame 附加到多索引 DataFrame?

    假设我有 DataFrame In 1 a pd DataFrame 1 2 3 4 5 6 7 8 index pd MultiIndex from product A B d e In 2 a Out 2 0 1 A d 1 2 e 3
  • Xcode 崩溃后总是停在 main.m

    过去 使用旧的 良好的 Xcode 3 每次崩溃时 Xcode 都会停在显示崩溃的有问题的行处 这是美好的时光 很高兴调试 现在使用 Xcode 4 2 每次应用程序崩溃时 它都会停在 main m 的这一行 int retVal UIAp
  • 如何在Jaspersoft Studio中制作带有动态列的表格? [复制]

    这个问题在这里已经有答案了 我需要在 Jaspersoft Studio 中制作这张表 我的桌子有时有一个测试 两个 n 个测试或什么都没有 是否可以 我该如何解决这个任务 您无法在 jasper 中动态创建列 但在创建一些固定数量的列后
  • Android 开始屏幕上使用的手势

    使用什么 Android Api 来在 Android 上的开始屏幕上向左或向右滚动 最简单的方法是检测 Fling 手势 Android API 有一个内置的检测器 用于基本手势 如快速滑动 滚动 长按 双击 捏合缩放等 该文档位于htt