如何获得鼠标悬停的x和y坐标。

我在android中有一个服务,该服务通过eneter消息传递框架连接到.net应用程序。我想从服务中获取鼠标的x和y位置。我不仅要在单击上而且要在鼠标悬停时都希望有鼠标位置。

非常感谢

最佳答案

也许不是最佳解决方案,但至少可以奏效。
两种解决方案均基于Genymotion模拟器。

解决方案1


您需要安装Genymotion模拟器。
从VirtualBox应用程序运行仿真器,稍等片刻,直到看到几行“ init:untracked pid ... exited”
从Genymotion启动器运行相同的模拟器。
现在,您可以通过在VirtualBox应用程序窗口(而非genymotion窗口)中移动鼠标来模拟鼠标。


根据执行第3步之前需要等待的时间,android可能会出现在genymotion或虚拟框窗口中。

解决方案#2


您需要安装Genymotion模拟器。
运行VirtualBox应用,转到您的虚拟框“ android emulator”:

Settings -> Display -> Remote Display -> Check Enable Server

通过genymotion启动器运行android模拟器。
通过以下方式连接到您的虚拟机:

$ 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

ps。悬停事件从api 14开始可用。

10-07 18:52
查看更多