2014-09-21 131 views
1

在我的应用程序中我想在用户使用他的软键盘在TextView上键入时接收touchEvent(MotionEvent)事件。我已经尝试在主要活动上使用dispatchTouchEvent(MotionEvent),但在输入过程中未触发此事件。有办法处理它吗?touchEvent同时用软键盘输入android

编辑: 的主要思想是从软键两个不同的事件,一个提交(举例来说,如使用keyUp和的keyDown)的字母和一个相对于触摸像dispatchTouchEvent,因为当你按下一个有你触摸屏幕的信件,这意味着你应该出现一个dispatchTouchEvent或类似的东西。

回答

2

从软键盘获取触摸事件是不可能的,因为Android键盘基本上是独立的Android应用程序,它们已经消耗了他们的触摸事件。但是,您可以使用onKeyDownonKeyUp事件对其按键进行响应。另请参阅http://developer.android.com/training/keyboard-input/commands.html

+0

而且没有办法重写此行为?例如创建我的自定义软键盘与EditText一起使用并仅覆盖有趣的方法?此外,onKeyDown和onKeyUp通常是由硬件键盘触发的,而不是像软键盘那样的软件。 – 2014-09-21 16:29:39

+0

“onKeyDown”和“onKeyUp”应该也可以用于软键盘。请澄清你最终想达到的目标。 – 2014-09-21 16:52:39

+0

我想要事件..或至少一个..一个用户在键盘上点击('a','b'或其他),另一个是指触摸(所以,一种dispatchTouchEvent与触摸软键盘的字符有关)。 – 2014-09-21 16:56:09