Java 以编程方式设置键盘键图标

Java 以编程方式设置键盘键图标,java,android,keyboard,icons,Java,Android,Keyboard,Icons,我正在使用Android的键盘和键盘视图类为编辑文本制作一个自定义键盘(使用这个) 在我的keyboard.xml文件中,我为shift键设置了一个图标。但是,当shift被激活时,我有另一个图标要显示。但是,我有一个方法可以实现这一点。在Keyboard.Key类中有一个方法,而不是setter方法。只需重新指定此字段的值即可更改键的图标 Keyboard.Key key = findKey(myKeyboard, keyCode); key.icon = myDrawable; priva

我正在使用Android的
键盘
键盘视图
类为
编辑文本
制作一个自定义键盘(使用这个)


在我的keyboard.xml文件中,我为shift键设置了一个图标。但是,当shift被激活时,我有另一个图标要显示。但是,我有一个方法可以实现这一点。

在Keyboard.Key类中有一个方法,而不是setter方法。只需重新指定此字段的值即可更改键的图标

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;
}

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

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

你能详细说明一下吗?使用Keyboard.Key.icon=yourDrawable;