0

我想创建一个仅在我的应用程序中使用的自定义键盘。我已经做了一切来制作一个简单的自定义键盘,让我可以输入一些单词。当我在 google 和 android 文档上查看有关自定义键盘的一些教程时,我看到该键可以具有以下属性:android:isSticky,这使键成为切换键。但似乎没有办法获得切换键的当前状态。

键盘启动时

当您单击自定义键盘上的切换键时,它将变成这样:

  • 那么有什么方法可以获取具有属性 android:isSticky 的键的状态吗?
4

1 回答 1

2

我花了很长时间才找到这个。我几乎是绝望地偶然发现了一个解决方案。

我确信有更好的方法,但我就是这样做的:

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

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

  // sticky key is ON

  }
}

我还设法通过调用该方法并在xmlonPressed()中定义具有不同颜色的可绘制对象来更改粘滞键的颜色。StateListDrawable

正如我所说..必须有更好的方法但是...

于 2014-05-01T22:28:18.153 回答