アンドロイドカスタムキーボードのカスタムキーのフォントスタイル(英語 - ユニコード以外)の変更に問題があります。 私はこのlink の答えに似た何かをたどってきました。これは、アプリ全体のフォントをキーボードの1文字のキーを含む新しいフォントに変更します。 私はキーテキストのサイズを変更したい場合は、私は2つのエントリ アンドロイドカスタムキーボードのカスタムキー(ラベル)のフォントを変更する
android:keyTextSize="25sp" // for single character keys
android:labelTextSize="20sp" // for multiple character keys
しかし残念ながら上記のリンクでの方法は、単一の文字キーのみのために働くの下に使用することができます。複数の文字キーのフォントを設定する方法はありますか?
次の例を参照してください。 最初のボタンにはデフォルトのシステムフォントが2番目と3番目のボタンには正しいフォントが設定されています。
EDIT: Bhavita Lalwanianswerを読んだ後、それは私が考えるようになりました。ここ
if (label != null) {
// For characters, use large font. For labels like "Done", use small font.
if (label.length() > 1 && key.codes.length < 2) {
paint.setTextSize(mLabelTextSize);
paint.setTypeface(Typeface.DEFAULT_BOLD);
} else {
paint.setTextSize(mKeyTextSize);
paint.setTypeface(Typeface.DEFAULT);
}
}
それはそれは彼らが単一のコードを持っている場合にのみ、複数の文字のためのBOLDフォントを使用しています
if (label.length() > 1 && key.codes.length < 2)
言います。例えば、 。私はAndroid Engsがこれらのことを考えていると思う。 ???
Keyboard.KEYCODE_DONE
Keyboard.KEYCODE_DELETE
したがって、複数のコードを追加し、必要に応じて最初のコードのみを使用するのが醜い回避策です。
<Key android:codes="5001,1" android:keyLabel="AB" android:keyWidth="12%p" />
複数のコードを持つすべてのキーには、ユーザーDEFAULTタイプフェイスも使用できます。 この私はヒンディー語のカスタムキーボードを作成する際に、同様の問題を抱えていた。(非英語 - ユニコード)、今の作品(私は適切な解決策を:)見つけるまで)
残念ながら、これは実際には私のためには機能しませんでした。カスタムキーは間違ったフォントを表示します。しかし、これは私にアイデアを与えました。私の編集した質問の第2部を参照してください。 – RJE
あなたは確かに、それは機能していませんか?それは私のために働いた。 しかし、私はsuper.onDrawを削除しなければなりませんでした。 (私が上で書いたコードから) 明らかにコードのセットを使用していたので、それらを別々に描画する前に太字のdefaultを使用して描画しています。 オーバーライドされたonDrawからsuper.onDrawを削除してみてください(実際にonDrawを実装した場合に必要な追加の依存関係をチェックアウトしてください)。 あなたのためにうまくいくならば、謝罪してください。 –