在非触摸式Android设备上模拟触摸屏

时间:2017-08-09 20:29:59

标签: android

我们的移动应用适用于触摸屏Android设备。我需要支持一个没有触摸屏但有DPad键的新设备。我想我可以捕获DPad方向键并在屏幕上模拟光标箭头。

核心Android中内置的鼠标光标功能是否可以通过API调用轻松打开?是否有方法在屏幕上获取/设置光标位置?此外,当用户按下DPad键上的Enter时,我是否可以通过编程方式模拟触摸屏事件?问候。

2 个答案:

答案 0 :(得分:0)

  

核心Android中内置的鼠标光标功能是否可以通过API调用轻松打开?

仅当用户使用鼠标时,在这种情况下不需要API调用。

  

是否有方法在屏幕上获取/设置光标位置?

没有

  

此外,当用户按下DPad键上的Enter键时,我可以通过编程方式模拟触摸屏事件吗?

没有。你也不应该这样做。您的应用会通过onKeyDown()等方法了解所有按键操作。当你得到KEYCODE_DPAD_CENTER时,你只需做任何需要的事情;没有必要模拟触摸屏事件,只需要路由到某个onTouchEvent()方法。

答案 1 :(得分:0)

首先,请阅读“使应用程序更易于访问”: https://developer.android.com/guide/topics/ui/accessibility/apps.html

关键事件(例如D-pad控件)以关键事件的形式进入应用程序

onKeyDown(int keyCode, KeyEvent event)

触摸事件通过

进入应用程序
onTouchEvent(MotionEvent event)

Android确实支持游标(鼠标)。它还有用于管理焦点的框架,这是屏幕小部件周围出现的亮点。

在D-pad上按Enter不是触摸屏幕的同义词 - 它们是不同的事件,需要相应地处理。上述参考文档将指出您正确的方向。