簡體   English   中英

如何從屏幕(虛擬)鍵盤上獲得壓力? (機器人)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM