在屏幕上滑动手指激活按钮,就像按下按钮一样

2024-04-23

如果我的标题不够清楚,我会详细解释一下:

假设我们有一个充满多个按钮(10 多个)的屏幕,我们按下一个按钮,激活 onTouch/onClick。如果我们现在移动手指而不抬起它,我希望它激活它滑过的任何其他按钮。在这种特殊情况下,我希望当您滑过虚拟钢琴时播放声音。

我知道 onTouchListener 解决方案,您可以在其中注册每个 ACTION_MOVE 并找到一些激活新事件的边界,但如果您有多个按钮并希望允许平滑滑动而不延迟,那么这远非最佳。

我也读过这个线程 https://stackoverflow.com/questions/4838609/detect-which-view-your-finger-is-sliding-over-in-android这建议我们将视图的 touchListener 与活动中的手势侦听器结合起来,但再一次,这对于我的情况来说根本不是最佳选择。

我还没有尝试将触摸监听器与手势监听器结合起来,但如果有人告诉我他们没有其他方法可以做到这一点,我会继续这样做。


在我看来,正确的方法是忘记按钮,并创建一个绘制整个键盘的自定义视图。在此视图中,您可以按照您喜欢的方式处理触摸事件。您甚至不需要手势检测器,只需分析运动事件的动作和坐标,非常简单。

我不明白你所说的 ACTION_MOVE 和延迟是什么意思。为了最大限度地减少延迟,请对 ACTION_DOWN 做出反应,如果在按下状态时悬停其他键,则对 ACTION_MOVE 做出反应。不可能比这更快了。对于按钮来说,存在一个重要的延迟,因为当用户在 ACTION_UP 上抬起手指时会触发 onClick() 事件。

按钮并不像您所描述的那样工作。这个想法是,如果用户点击一个按钮,然后同时将手指移开,则不会触发周围其他视图上的 onClick 事件。这可以防止虚假点击。

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

在屏幕上滑动手指激活按钮,就像按下按钮一样 的相关文章

  • android studio 和 android SDK 捆绑的 eclipse 版本有什么区别

    我没有 Android 开发经验 我想开始编写应用程序 The 官方开发者工具页面 http developer android com tools index html包含两个不同 IDE 的链接 第一个包含捆绑的 ADT 版本Eclip
  • 如何在 1 个活动 (android) 中显示 2 个视图?

    假设我打开了一个网络视图 public void onCreate Bundle savedInstanceState super onCreate savedInstanceState setContentView R layout ma
  • kotlin中的三元运算符[重复]

    这个问题在这里已经有答案了 我可以用java写 int i 10 String s i 10 Ten Empty 即使我可以将它传递到方法参数中 callSomeMethod i 10 Ten Empty 如何将其转换为 kotlin 在
  • 在通知声音中暂停/恢复媒体播放器

    很容易检测到电话何时打入 通过phoneStateListener 但是其他通知声音 例如电子邮件或短信 又如何呢 在某些设备上 这些通知听起来很静音 但不会暂停任何当前正在运行的 mediaPlayer 实例 这对用户来说很烦人 理想情况
  • 在android中的操作栏中标题左侧添加图标

    我想在操作栏中标题的左侧添加一个可点击的图标 按钮 怎么做 以下是我向操作栏添加搜索和设置图标的代码 它们出现在右侧 但我想在标题左侧添加一个新图标 怎么做 XML menu menu
  • 如何在android中直接从.zip文件读取文件而不解压它

    过去几个月我一直在研究 android 现在我的问题是读取放在 sdcard 上的 zip 文件 我已经成功完成了将 zip 文件下载到 SD 卡上的编码 我已将 img zip 文件下载到 SD 卡上 此 img zip 包含 5 个图像
  • 安卓多点触控?

    作为一名开发人员 我倾向于先编程 然后再研究 我试图实现一个可以处理多个用户输入的屏幕 基本上映射的不仅仅是一根手指 我尝试了两件事 我有一个实现 OnTouchListener 的 Activity 类 这里我有两个单独的子视图 它们将
  • 喷气背包组合中的波纹效果无法正常工作

    我正在研究jetpack compose中的连锁反应 我提供了我的颜色 单击视图后 它会在一段时间后显示不同类型的颜色 在按下状态时显示为深灰色 binding itemComposable setContent Column modifi
  • Android 在 ROOM 数据库中插入大量数据

    我有大约 10 个模型 每个模型都有超过 120K 行和 90 列的记录 其中包含双数组值 在 Room 中插入任何模型都需要超过 125 130 秒 任何人都可以建议我需要做什么才能使用一些批量插入技术来保存所有这些 120K 该技术大约
  • Android 中的 ImageView 拖动限制

    我在布局中有一个 ImageView 并在 ImageView 上设置 OnTouchListener 来拖动 ImageView 它工作得很好 我的问题是如何防止将 ImageView 移动到布局范围之外 这是我的代码 活动类别 publ
  • 我如何将值从基本适配器传递到活动

    我正在一个应用程序中工作 我需要将值从基本适配器类传递到活动 这是片段代码 public View getView int position View convertView ViewGroup parent vi convertView
  • 带有电子墨水显示屏的 Android

    我有兴趣使用 AndroidE Ink http www eink com technology howitworks html为基础的平台 我知道已经是证明了 http vimeo com 3162590MOTO 曾经使用过 但我有兴趣将
  • ListView.hasWindowFocus==true 但子视图 hasWindowFocus==false

    有时我注意到 对于 View v v hasWindowFocus false View v getParent hasWindowFocus true 如果我正确理解文档 情况就不应该如此 v getParent 是 ListView 的
  • Zxing库无法解析

    我正在使用 zxing 库开发应用程序 我导入了zxing项目到我的工作场所 当我导入时遇到了一些问题 通过编译项目java 1 7 我做到了 CameraConfigurationUtils失踪 我从library source Reso
  • Kotlin 1.6.0 的 proguard / R8 删除了数据类元数据

    我有一个包含一些数据类的包 我尝试使用 Kotlin 反射在运行时访问构造函数clazz primaryConstructor 一切都按预期工作 但是当我启用 R8 时 数据类元数据被删除 例如当我检查是否KClass isData它返回
  • 如何在 Android 上禁用 HTML 输入中的自动更正?

    我无法在 Android 上的网络浏览器中禁用文本输入的自动更正 我试过这个
  • proguard 不会删除日志

    In proguard rules pro 我有以下配置 assumenosideeffects class android util Log public static boolean isLoggable java lang Strin
  • 如何创建一个类似“隐形”的Android应用程序?

    我想让我的应用程序以某种 隐形 模式运行 我想做的两件主要事情 不以编程方式在已安装的应用程序列表 抽屉 中显示应用程序图标 通过拨号盘启动应用程序 一些特殊的数字组合 我知道我可以删除启动器意图过滤器来隐藏图标
  • 如何强制元数据值类型为字符串?

    我在manifest xml中指定了一个元数据 如下所示
  • 从纵向活动返回横向活动时屏幕旋转 3 次

    我的 Android 8 1 平板电脑遇到此问题 该设备的自然方向是横向 我有 2 项活动 A配置了fullSensor 包含一个recyclerview来加载带有缩略图的项目 B 是纵向 包含表面视图

随机推荐