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 に答える