0

Android プロジェクトで独自のキーボードを作成しましたが、正常に動作します。ここにコードの小さなスニペットがあります:

mKeyboard = new Keyboard(this, R.layout .keyboard);
mKeyboardView = (CustomKeyboardView) findViewById(R.id.KeyboardArea);
mKeyboardView.setKeyboard(mKeyboard);

ユーザーがアクティビティの editText に触れるたびに表示されるようにします。私の問題は、エミュレータのキーボードの中央のボタンを押しても、標準のキーボードがまだ機能していることです...さらに、これを入れても:

android:windowSoftInputMode="adjustResize"

私の AndroidManifest ファイルにはありますが、標準キーボードでしか機能しません...そのため、システムのソフト キーボードをカスタマイズしたものに完全に置き換えることは可能ですか?

4

2 に答える 2

1

試してください: getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

関連項目:フォーカスが変更されたときにソフト キーボードの表示を自動的に停止する方法 (OnStart イベント)

于 2011-08-27T14:40:34.780 に答える
0

あなたはこれをするだけです....

int lastwidth;

@Override
    public void onInitializeInterface() {

        if(mKeyboard!=null){
            int diswidth = getMaxWidth();
            if(lastwidth==diswidth){
                return;
            }
            lastwidth=diswidth;
        }

        alphakeyb = new Keyboard(this, R.layout.alphakey);

    }

    @Override
    public View onCreateInputView() {

        // inflatin keyboardview from xml file
        keybview = (KeyboardView) getLayoutInflater().inflate(R.layout.customkeybview,null);

        // setting listner on keyboardview
        keybview.setOnKeyboardActionListener(this);
        // setting keyboard to keyboardview
        keybview.setKeyboard(alphakeyb);

        return keybview;

    }

API デモで Android ソフトキーボードの例を参照することもできます。

于 2011-10-01T08:40:19.450 に答える