2014-09-21 163 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