Reemplazo del teclado virtual del sistema por uno personalizado

Creé mi propio teclado en mi proyecto de Android y funciona bien; aquí hay un pequeño fragmento de código:

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

Lo hago aparecer cada vez que el usuario toca el editText de mi actividad. Mi problema es que el teclado estándar sigue funcionando si presiono el botón central de mi teclado emulador ... además a pesar de que puse esto:

android:windowSoftInputMode="adjustResize"

en mi archivo AndroidManifest pero solo funciona para el teclado estándar ... entonces, ¿es posible sustituir completamente el teclado virtual del sistema por uno personalizado?

preguntado el 27 de agosto de 11 a las 14:08

2 Respuestas

Pruebe: getWindow (). SetSoftInputMode (WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

Ver también: Cómo evitar que el teclado en pantalla se muestre automáticamente cuando se cambia el enfoque (evento OnStart)

contestado el 23 de mayo de 17 a las 14:05

Solo haz esto ...

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;

    }

También puede consultar el ejemplo del teclado programable de Android en las demostraciones de API

Respondido 01 Oct 11, 12:10

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.