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 开始屏幕上使用的手势 的相关文章

  • Android 2.2 SDK - Droid X 相机活动无法正常完成

    我注意到我在 Droid X 上调用的默认相机活动与我的 Droid 和 Nexus One 上的默认相机活动看起来不同 在 Droid 和 Nexus One 上选择 确定 后 活动将完成 Droid X 有一个 完成 按钮 它将带您返回
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • 如何在 Android 中使用 Assets 中预加载的 SQLite 数据库

    我想用preloaded database在我的应用程序中意味着尝试在安装 apk 时获取数据库 以便可以使用已保存在其中的数据 我复制了 成分 db 文件位于资产文件夹中 并使用以下代码 但这会出现错误 从资源文件复制数据库时出现问题 我
  • 使用 android AudioTrack 在左或右扬声器中播放声音

    我正在应用程序中的 AudioTrack 的帮助下播放声音 但我想在特定扬声器 耳朵中播放声音 即左扬声器或右扬声器或两个扬声器 以下代码是我用来播放声音的 private AudioTrack generateTone double fr
  • 将正确的上下文传递给 greendao 的 OpenHelper 构造函数

    如果我理解正确的话 在使用数据库时 我必须执行以下操作 DaoMaster OpenHelper helper new DaoMaster OpenHelper this test db null Override public void
  • 如何获取.so文件的依赖项列表?

    假设我有libFoo so为 android arm 编译 我不确定它链接到什么STL实现 有options http developer android com intl ru ndk guides standalone toolchai
  • 毕加索动画加载图像

    我有以下代码在毕加索中加载图像 使用可绘制的占位符在图像下载时显示 不过 我想要的是一个动画旋转进度条样式的旋转器 它可以在图像加载时不断地旋转 就像我在大多数专业应用程序中看到的那样 毕加索似乎不支持这一点 只支持静态图像可绘制 有没有办
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • FileNotFoundException:/存储/模拟/0/Android

    我尝试这个文件写入器 读取器代码段进行测试 File file new File Environment getExternalStorageDirectory LM lm lisdat 01 txt FileOutputStream ou
  • Retrofit-2 内容类型问题

    我的 Api 接受 Content Type application json 作为标头 我按照改造文档中所述完美设置了标题 Headers Content Type application json POST user classes C
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • Android Studio更新到1.5后Gradle错误

    今天我已将 Android Studio 更新到 v1 5 我的 libgdx 项目在这次更新之前运行良好 现在我收到此错误消息 Error Unable to load class org gradle mvn3 org sonatype
  • 如何查看 Android 上的 Wi-Fi 是否已连接?

    我什至不希望我的用户尝试下载某些内容 除非他们连接了 Wi Fi 然而 我似乎只能判断是否启用了 Wi Fi 但他们仍然可以有 3G 连接 android net wifi WifiManager m WifiManager getSyst
  • 如何使用 Firebase UI 在 recyclerView 中显示时从 Firebase 数据库中的子级引用父级

    我目前正在引用 quote text 子项 这些数据显示在recyclerview using firebase用户界面 我想获取 quote text 的父名称 如何获取 quote text 孩子的父母姓名 When user clic
  • BottomSheetDialog get Behavour 始终返回 null

    我与底部表单对话框我必须获得行为才能设置setBottomSheetCallback 来处理一些事情 As 谷歌说 https android developers googleblog com 2016 02 android suppor
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • 在android中跟踪FTP上传数据?

    我有一个运行 Android 的 FTP 系统 但我希望能够在上传时跟踪字节 这样我就可以在上传过程中更新进度条 安卓可以实现这个功能吗 现在 我正在使用org apache common net ftp我正在使用的代码如下 另外 我在 A
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • 如何读取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