以编程方式设置Keyboard.Key图标

时间:2013-11-30 17:44:43

标签: java android keyboard icons

我正在使用Android的KeyboardKeyboardView类为EditText制作自定义键盘(使用此tutorial)。

在我的keyboard.xml文件中,我为shift键设置了一个图标。但是,我在激活换档时会显示另一个图标。但是,我can't find一种允许我这样做的方法。

2 个答案:

答案 0 :(得分:0)

而不是setter方法,Keyboard.Key类中有public icon field。只需重新分配此字段的值即可更改密钥的图标。

Keyboard.Key key = findKey(myKeyboard, keyCode);
key.icon = myDrawable;

private Keyboard.Key findKey(Keyboard keyboard, int primaryCode) {
  for (Keyboard.Key key : keyboard.getKeys()) {
    if (key.codes[0] == primaryCode) {
      return key;
    }
  }
  return null;
}

答案 1 :(得分:0)

要查找键盘中的shift键,只需使用

即可
Keyboard.Key shiftedKey = keyboard.getKeys().get(keyboard.getShiftKeyIndex())