簡體   English   中英

Android顯示鍵盤和注冊鍵

[英]Android show keyboard and register keys

我有一個只是Surfaceview的應用程序。 我要做的就是在surfaceview上繪制東西,什么都沒有。 所以我想要的一個功能是,如果用戶觸摸了Surfaceview的一個角,它將顯示鍵盤,然后他們可以在其中鍵入內容。 請注意,我的應用程序中任何地方都沒有EditTexts或Textboxes。 如何調用鍵盤彈出窗口,然后如何獲取用戶按下的所有鍵? 我不需要鍵,我只想要它們鍵入的字符串。 我該如何做到這一點?

這不是一件簡單的任務。

首先,您需要重寫onCreateInputConnection ()方法

@Override 
public InputConnection onCreateInputConnection(EditorInfo outAttrs) { 
    return new MyInputConnection(this, surfaceView, false);    
}

然后,您必須實現從BaseInputConnection派生的此輸入連接類。

class MyInputConnection extends BaseInputConnection{

    private MyActivity activity;

    public MyInputConnection(MyActivity activity, View targetView, boolean fullEditor)
    {
       super( targetView, fullEditor );
       mActivity = activity;
    }

    public boolean commitText(CharSequence text, int newCursorPosition){ 
        myActivity.drawText((String) text); 
        return true; 
    } 

您將要覆蓋更多方法(請參閱參考資料),但首先要關注commitText()。 DrawText()是一種在表面上渲染文本的方法,您必須提出一種適合您需要的實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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