2012-04-03 13 views
8

私が探しているのは、ソフトキーボードを使用しているときに現在押しているキーを示すポップアップだけを隠すことです。これは可能ですか?私は自分のために必要のない自分の新しいキーボードを作成しています。Androidキーボードのプレビューを非表示にする

私が理解しているところでは、下の図は、とandroid:popupCharactersを使って表示することができる実際のポップアップキーボードです。Keyboard.Key XMLにあります。

Popup Android Keyboards

しかし、下の画像は(もthis pictureを参照)と同じではありません。 XMLを使って、あるいはプログラムでさえ、次のようにする方法はありますか? a little bit of the actual android keyboard source codeを読んだ後

Android Keyboard Popups

答えて

14

私が言及していた何がある「キープレビュー」、だった「押されたキーの拡大バージョンを示しポップアップ。」デフォルトでプレビューが有効になっていますが、無効にするには単にsetPreviewEnabled(boolean previewEnabled)です。これは、KeyboardViewクラスのメソッドです。 API。さらに

+0

を拡張するカスタムクラス内からプレビューを無効にするには、あなたが自分で開発している場合@Whymarrhこんにちは、私はまたここで、i softkeyboardに取り組んでいます私は上記の最初のキーボードのqの下にあるように1つのキーに複数の文字を表示したいという問題に直面しています。ラベルを使用してキーに複数の/複数の文字を表示しようとしましたが、 ://puu.sh/4Xmz1.png "。だから、キーに複数の文字を表示する方法を教えてください。 – Aniket

+0

@Aniket GitHub上で私の完全なソースコードをオンラインで見ることができます:http://git.io/mM7pPQ。このファイル(http://git.io/SXo3GA)に従って、Unicode文字を使用して、キーに必要なものを表示することができます。 – Whymarrh

+0

それは私のために働いた。私はちょうど "KeyboardView"クラスからメソッド "setPreviewEnabled(boolean)"を使用しなければなりませんでした。 –

5
public void onPress(int primaryCode) { 
    mInputView.setPreviewEnabled(false); 
} 

public void onRelease(int primaryCode) { 
    mInputView.setPreviewEnabled(true); //Change to false if you want remove too for the Del key when it's pressed 
} 

、ビューを取得し、普遍InputMethodService

private KeyboardView mInputView; 
    @Override 
    public KeyboardView onCreateInputView() { 
     mInputView = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null); 
     mInputView .setPreviewEnabled(false); 
     return mInputView; 
    } 
関連する問題