草庐IT

安卓多点触控?

coder 2023-11-30 原文

作为一名开发人员,我倾向于先编程,然后再进行研究。我试图实现一个可以处理多个用户输入的屏幕。基本上映射不止一根手指。我尝试了两件事..

我有一个实现 OnTouchListener 的 Activity 类。在这里,我有两个单独的 subview ,它们将 Activity 添加为它们的 ontouch 监听器。然后我有一个打印行打印出 event.getPointerCount() 并打印出每个指针的位置..

下载到手机上测试了一下。我注意到指针永远不会超过两个。我什至注意到如果一个手指在一个 child 上而另一个手指在另一个 child View 上,事件只会到达第一个子组件。接下来,我尝试在每个子组件上放置单独的监听器,看看是否可行,但它的行为是一样的。

因此,在处理来自用户触摸屏幕的输入时,android 似乎只支持总共两个用户输入。

这是真的吗?从测试和研究来看似乎是这样。

有没有人遇到过这个限制。有什么巧妙的解决方法吗?

感谢您的宝贵时间和回复。

你好

最佳答案

支持的触摸点数量取决于设备。在所有当前可用的 Android 版本中,MotionEvent 被发送到单个目标 View 并描述所有当前 Activity 触摸点的状态。目标 View 由第一个 MotionEvent.ACTION_DOWN 事件发生的位置决定。

查看帖子 Making Sense of Multitouch在 Android 开发者博客上快速了解如何在 Android 上处理多点触控事件。

关于安卓多点触控?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4709812/

有关安卓多点触控?的更多相关文章

  1. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  2. (一)专题介绍:移动端安卓手机改造成linux服务器&linux服务器中安装软件、部署前后端分离项目实战 - 2

    快捷目录前言一、涉及到的相关技术简介二、具体实现过程及踩坑杂谈1.安卓手机改造成linux系统实现方案2.改造后的手机Linux中软件的安装3.手机Linux中安装MySQL5.7踩坑实录4.手机Linux中安装软件的正确方法三、Linux服务器部署前后端分离项目流程1.前提准备(安装必要软件,搭建环境):2.前后端分离项目的详细部署过程:总结前言总体概述:本篇文章隶属于“手机改造服务器部署前后端分离项目”系列专栏,该专栏将分多个板块,每个板块独立成篇来详细记录:手机(安卓)改造成个人服务器(Linux)、Linux中安装软件、配置开发环境、部署JAVA+VUE+MySQL5.7前后端分离项目

  3. javascript - iPad 需要三点触控来处理 JavaScript 点击事件 - 2

    我的iPad有问题。我在JavaScript中使用3个函数作为anchor标记,onmouseover、onmouseout、onclick。但是当我在iPad上测试它时,第一次触摸它会触发onmouseover,然后需要两次触摸才能执行onclick事件。这意味着点击事件总共需要三个触摸。一般来说,它只需要两次触摸就可以了。为什么会这样? 最佳答案 要完全支持带有触摸屏的移动设备,您不能使用鼠标事件...您需要更改为触摸事件http://ross.posterous.com/2008/08/19/iphone-touch-even

  4. javascript - JQuery - 我可以查询 MacBook Pro 触控板吗? - 2

    我可以使用JQuery查询触控板吗?所以我可以做这样的事情:伪Javascript(JQuery)$(document).keyInput().trackpadTwoFingersLeft(function(){$('#divul').animate({left:"=+1"},1);});是否有可以执行此操作的插件或其他框架?感谢您的每一个回复和想法。:) 最佳答案 我在网上浏览了一下,到目前为止发现Chrome和Safari都没有在浏览器中公开这些事件。https://superuser.com/questions/27627/t

  5. 微信小程序安卓视频播放卡顿问题 - 2

    在微信小程序开发中遇到在video组件的两个问题1.安卓手机里播放视频会有明显的卡顿问题刚开始以为是网络问题,或者是视频文件问题。排查了一下发现都没问题最后加了个属性就OK了uniapp和原生小程序方法:custom-cache="false"custom-cache={{false}}video组件兼容iOS手机custom-cache加了这个属性会让2.iOS手机第一次播放视频会有几秒黑屏问题因此我加了当前手机型号的判断uni.getDeviceInfo().deviceType获取当前设备api当为iPhone时不加custom-cache属性,否则加上custom-cache=“fal

  6. 安卓渐变的背景框实现 - 2

    安卓渐变的背景框实现1.背景实现方法1.利用PorterDuffXfermode进行图层的混合,这是最推荐的方法,也是最有效的。2.利用canvas裁剪实现,这个方法有个缺陷,就是圆角会出现毛边,也就是锯齿。3.利用layer绘制边框1.背景万恶的设计小姐姐又来搞事情啦,你说好好的设计一个纯色的背景框框不好嘛,非要把一个框框弄成渐变的,如果不拿出放大镜估计没几个人能看出来它是渐变的。来,我让你看看是啥样框子是从左到右渐变的,设计应该是做了一个底图,然后上面盖了一个白色圆角矩形。那么我们该怎么去实现它呢?实现方法下面介绍三种实现它的方法。先贴上源码地址,大家记得给个starhttps://git

  7. javascript - 有没有办法通过浏览器Javascript检测Mac上触控板、魔术鼠标或魔术触控板的多点触控事件? - 2

    我知道有很多方法可以直接在iPhone(jQtouch)上执行此操作,但我想在计算机的浏览器中检测这些事件。 最佳答案 Mozilla对鼠标手势有一些支持:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Mouse_gesture_events看起来chrome和safari没有原生支持:JQuery-CanIquerytheMacBookProTrackpad? 关于javascript-有没有办法通过浏览器Javas

  8. javascript - Windows Phone 8 触控支持 - 2

    WindowsPhone8是否在默认浏览器中完全支持触摸事件?它是否开箱即用,以便网页可以检测到任意的触摸移动事件?我遇到了一些浏览器的问题,这些浏览器会劫持touchmove事件以用于其界面作为滑动手势。WindowsPhone8浏览器会做类似的事情吗?谁能指出有关WindowsPhone8触摸事件的任何文档?编辑:这里有一个页面可以让拥有windowsphone8的人测试触摸功能:http://blogs.msdn.com/b/ie/archive/2011/10/19/handling-multi-touch-and-mouse-input-in-all-browsers.asp

  9. 安卓手机浏览器:远程调试 - 2

    简介:有时我们需要调试手机浏览器网页信息,这时除了使用fiddler抓包拦截篡改,还可以通过USB连接,通过PC远程调试手机上的浏览器信息,进行映射。历史攻略:adb:安卓手机USB调试模式前置准备:网页内容在移动设备上的体验可能和电脑上完全不同。ChromeDevTools提供远程调试功能安卓远程调试支持:在浏览器选项卡中调试网站。在原生安卓应用中调试网页内容。将屏幕从你的安卓设备上投影到你的开发机器上。使用端口转发和虚拟主机映射来让安卓设备访问开发使用的服务器。操作步骤:1、手机通过USB连接电脑。2、开启手机调试模式。3、PC电脑edge输入:edge://inspect/#device

  10. 安卓性能优化之内存优化 - 2

    Java对象生命周期:创建:为对象分配内存空间,构造对象应用:此时对象至少被一个强引用持有不可见:未被任何强引用持有,进行可达性分析不可达:可达性分析为不可达,进入下一阶段收集:当垃圾回收器发现该对象已经处于“不可达阶段”并且垃圾回收器已经对该对象的内存空间重新分配做好准备时,则对象进入了“收集阶段”。如果该对象已经重写了finalize()方法,则会去执行该方法的终端操作。终结:当对象执行完finalize()方法后仍然处于不可达状态时(可达性分析垃圾回收算法被回收前,会有两次标记过程,判断是否执行lfinalize()方法,执行完之后判断是否GCROOT可达,如果仍不可达,则准备回收),则

随机推荐