获取自定义键盘中isSticky键的当前状态

时间:2013-04-28 16:42:40

标签: android

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

When the keyboard started

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

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

1 个答案:

答案 0 :(得分: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中定义具有不同颜色的drawable来获得粘滞键更改颜色。

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