我想创建一个仅在我的应用程序中使用的自定义键盘。我已经做了一切来制作一个简单的自定义键盘,让我可以输入一些单词。当我在 google 和 android 文档上查看有关自定义键盘的一些教程时,我看到该键可以具有以下属性:android:isSticky,这使键成为切换键。但似乎没有办法获得切换键的当前状态。
- 那么有什么方法可以获取具有属性 android:isSticky 的键的状态吗?
我想创建一个仅在我的应用程序中使用的自定义键盘。我已经做了一切来制作一个简单的自定义键盘,让我可以输入一些单词。当我在 google 和 android 文档上查看有关自定义键盘的一些教程时,我看到该键可以具有以下属性:android:isSticky,这使键成为切换键。但似乎没有办法获得切换键的当前状态。
我花了很长时间才找到这个。我几乎是绝望地偶然发现了一个解决方案。
我确信有更好的方法,但我就是这样做的:
List<Key> mKeyboardViewKeys = mKeyboardView.getKeyboard().getKeys();
for (Key k : mKeyboardViewKeys) {
if ((k.code[0] == stickyKeyCode) && (k.on)) {
// sticky key is ON
}
}
我还设法通过调用该方法并在xmlonPressed()
中定义具有不同颜色的可绘制对象来更改粘滞键的颜色。StateListDrawable
正如我所说..必须有更好的方法但是...