我不能感謝你足夠的Vivek Mishra。你是個天才好先生!
我創建了第二個xml文件(engQwerty.xml)來存儲我的第二個佈局。從那裏開始,我的SimpleIME.java文件中的方法「onCreateInputView()」中,我使用新的xml文件創建了第二個鍵盤,並創建了一個私有布爾變量(在我的情況下是isRus)以保持跟蹤其中佈局我在。
engKeyboard = new Keyboard(this, R.xml.engQwerty);
isRus = true;
然後,我添加了一個密鑰,與密鑰-51(任意選擇)到這兩個xml文件。 然後回到SimpleIME.java文件時,安其作用下,我說:
case -51 :
if(isRus) {
kv.setKeyboard(engKeyboard);
isRus = false;
}
else {
kv.setKeyboard(rusKeyboard);
isRus = true;
}
break;
即檢查我目前在佈局和它們之間切換相應。最後,如果你想讓caps或shift鍵相應地更新你的鍵盤,在「onKey」函數的「case Keyboard.KEYCODE_SHIFT:」下確保你添加你的新鍵盤變成「setShifted」。
engKeyboard.setShifted(caps);
歸功於Vivek Mishra。希望這可以幫助像我這樣的新手android程序員找到一個相當簡單的任務的解決方案。
只需在您的自定義鍵盤上添加一個語言鍵,然後點擊更改鍵盤的xml文件即可。你必須嘗試看看它是否有效。 –
我非常感謝答覆。這正是我想要做的。有沒有機會告訴我該語言鍵的鍵碼是什麼?以及如何切換鍵盤xml的?我可以創建第二個XML,只是不知道如何切換到它。 我真的很感謝你的幫助。 – Kurt
@Kurt你可以通過設置'tag:'切換到兩個佈局,並檢查活動中的標籤。 – Gattsu