5

こんにちは私はアンドロイドソフトキーボードに取り組んでいます。通常、キーに表示されるラベルは、以下に示すように 1 文字です。

ここに画像の説明を入力

上記は、Keyboard の Key タグのkeylabel属性を使用して、キーに必要なテキストを表示するだけで実行されます。しかし今、私の要件は、以下に示すように単一のキーに複数の文字を表示することです

ここに画像の説明を入力

Android:keyIconを使用してこれに対する1つの解決策を得ましたが、ユーザーが任意の文字の色を変更できるように、文字の色を構成可能にする必要があるという制限があります。赤の 1 のように | 青で q 緑で. そのため、任意の色に設定できる必要があります。そのため、文字にテキストを表示するための keyIcon プロパティをスキップしました。

キーに複数の文字を設定する方法はありますか。

4

2 に答える 2

1

こんにちは<Key> の外観のカスタマイズを参照して実行しました

3日後に与えられたコードで遊ぶことで、私は自分の解決策を得ました。

于 2013-10-28T06:13:10.087 に答える
1

Android フレームワークによって提供される標準の KeyboardView は、セカンダリ テキスト (または複数の文字) の表示をサポートしていません。目的の機能を実現するには、KeyboardView (または単に View) をサブクラス化し、そのonDrawメソッドを実装して Canvas に直接描画する必要があります。

ヒント ラベルを使用して実装されているlatinIME KeyboardViewのソース コードを確認できます。また、キーボード xml を解析するための独自のパーサーを作成する必要があります。ここで、LatinIME でどのように行われたかを確認できます。

LatinIMEの完全なパッケージキーボードを理解することは、要件に非常に役立ちます。

于 2013-10-21T17:36:32.380 に答える