2016-07-25 6 views
2

私のアプリケーションでは、ユーザーは言語を選択し、キーボードが開いたときに選択した言語を表示したい(キーボードオプションにある場合)。キーボードはそのオプションを提供するので、可能でなければなりません。キーボード言語をプログラム的に変更する

+0

あなたはこの提供オプションで何をしようとしたのですか? – AxelH

+0

キーボードが開いたら、スペースバーを長押しして言語を選択することができます – Belzebub

答えて

3

あなたのキーボードを作成する方法については大きな課題があります。これを行うには、あなたが目指しているキーボードを知る必要があります。 (これは通常のキーボードの正確な複製になります)

here & code samplesその中でkeyboardView
を拡張

Create a custom keyboard ViewあなたがinputMethodServiceを実装しているあなたのIMEクラスでその後

static final int KEYCODE_LANGUAGE_SWITCH_ENG = -102; 
static final int KEYCODE_LANGUAGE_SWITCH_URDU = -103; 

のような静的なキーと値の変数を作成し、onInitializeInterfaceオーバーライド機能内部のキーボードを作成します。以下のように、この後の

mSymbolsKeyboard = new Keyboard(this, R.xml.qwerty2); 
mEngQwertyKeyboard = new Keyboard(this, R.xml.eng_qwerty); 

は、スイッチケースとしてonKeyオーバーライド機能にこれらの最後の静的キーを追加し、場合によってはそれに応じてキーボードを設定します。

setKeyboard(mEngQwertyKeyboard); 
+2

私はこの回答を見ましたが、それでも正しく使用できませんでした。 – Belzebub

+1

私の答えを洗練された@ベルゼブ –

+0

私はこの答えが私が探していることを知っているが、私はそれを適用するためにまだ苦労しています。もう少し詳しく説明することは可能でしょうか? –

関連する問題