如何获取鼠标的x和y坐标。
我在安卓中有一个服务,它通过 eneter 消息传递框架连接到 .net 应用程序。我想要服务中鼠标的 x 和 y 位置。我不仅想要点击鼠标的位置,还想要鼠标悬停时的位置。
非常感谢
也许不是最好的解决方案,但至少它有效。这两种解决方案都基于Genymotion模拟器。
解决方案#1
- 您需要安装Genymotion模拟器。
- 从 VirtualBox 应用程序运行模拟器,稍等片刻,直到您看到几行,例如"init:未跟踪的 pid ...退出"
- 从Genymotion启动器运行相同的模拟器。
- 现在,您可以通过在VirtualBox应用程序窗口(不是genymotion窗口)中移动鼠标来模拟鼠标。
根据您在执行步骤3之前等待的时间,android可以出现在genymotion或虚拟盒子窗口中。
解决方案#2
- 您需要安装Genymotion模拟器。
-
运行VirtualBox应用程序,转到您的虚拟盒子"android模拟器":
Settings -> Display -> Remote Display -> Check Enable Server
- 通过 genymotion 启动器运行安卓模拟器。
-
通过以下方式连接到您的虚拟盒子:
$ rdesktop -a 16 localhost:3389
当您在 rdesktop 中移动光标时,您可以在 genymotion android 模拟器窗口中看到指针。现在,您可以拦截悬停事件。
也许有一个更好的解决方案 - 禁用虚拟机的鼠标集成,因此,virtualbox 可以抓取鼠标光标,例如:
$ VBoxManage modifyvm "your-vm-name" --mouse ps2
但它对我不起作用,也许 Genymotion 启动器会在每次启动时覆盖设置?
链接:http://developer.android.com/reference/android/view/View.OnHoverListener.html
附言悬停事件从 API 14 开始可用。
您也可以在Live CD模式下使用Android x86(或使用Windows在双启动模式下安装它)。