[英]How to get pressure from on screen (Virtual) keyboard? (Android)
我需要從屏幕鍵盤上獲取一些信息,例如Android中的壓力,KeyDown和KeyUp,但不知道該怎么做。
android官方網站說:
注意:在使用KeyEvent類和相關API處理鍵盤事件時,應該期望此類鍵盤事件僅來自硬件鍵盤。 您絕不應該依靠軟輸入法(屏幕鍵盤)上的任何鍵來接收鍵事件。
我也嘗試了以下方法,但沒有成功。 它實際上可以與后退按鈕之類的硬件鍵一起使用。
myEditText.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View view, int i, KeyEvent keyEvent) {
return false;
}
});
我當時想找到一種擴展屏幕鍵盤的方法,但仍然沒有成功! 有沒有人嘗試過這樣做? 非常感謝您的幫助。
更新:嘗試了多種解決方案后,最終我得到了由krossovochkin建議的使用自己的鍵盤的相同解決方案。 如果要修改Android鍵盤為新鍵盤,該解決方案似乎還不錯。 這樣,它會出現在“設置->輸入法”中,以便用戶可以切換到新鍵盤,這很好,因為可以從所有其他應用程序訪問它。 由於尚不清楚是否可以從標准虛擬鍵盤上獲得壓力,因此我認為這個問題可能會懸而未決。
你可以嘗試調用getPressure()
從方法MotionEvent
鏈接: http://developer.android.com/reference/android/view/MotionEvent.html#getPressure%28int%29
程式碼片段:
view.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
float pressure = event.getPressure();
}
});
更新:您可以創建自己的鍵盤並從中獲取壓力。 也許用戶不喜歡使用您的鍵盤而不是默認鍵盤。 但是我認為這是針對您情況的最佳解決方案。
有關以下內容的更多信息:
鍵盤視圖: http : //developer.android.com/reference/android/inputmethodservice/KeyboardView.html
創建自己的鍵盤的示例: https : //github.com/rciovati/Android-KeyboardView-Example
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.