2013-04-28 91 views
0

我想創建一個只在我的應用程序中使用的自定義鍵盤。我已經做了所有事情來製作一個簡單的自定義鍵盤,讓我鍵入一些單詞。當我查看關於google和android文檔上的自定義鍵盤的一些教程時,我發現該鍵可以具有此屬性:android:isSticky,它使得鍵成爲切換鍵。 但似乎沒有辦法獲得切換鍵的當前狀態。獲取自定義鍵盤中isSticky鍵的當前狀態

When the keyboard started

When you click on a toggle-key on the custom-keyboard, it will become like this:

  • 那麼,有沒有辦法,我可以拿到鑰匙已經在 屬性的android的狀態:isSticky?

回答

2

花了我好幾天的時間才找到這個。我偶然發現一個解決方案几乎是絕望的解決方案。

我敢肯定有一個更好的辦法,但是這是我做的:

List<Key> mKeyboardViewKeys = mKeyboardView.getKeyboard().getKeys(); 

for (Key k : mKeyboardViewKeys) { 
    if ((k.code[0] == stickyKeyCode) && (k.on)) { 

    // sticky key is ON 

    } 
} 

我也設法把粘滯鍵變色通過調用onPressed()方法和定義有不同的顏色繪製在StateListDrawable xml中。

正如我所說..必須有更好的方式,但...

+0

謝謝!這種方法非常好。 – JozackOverFlow 2014-05-03 14:57:33