Estoy creando un juego de mecanografía simple en Android. No tengo problemas para obtener información del teclado físico, pero ahora estoy intentando que aparezca el teclado virtual sin EditText. Hasta ahora, he intentado lo siguiente:¿Puedo usar el teclado virtual sin EditText?
1. EditarTexto con una visibilidad = "invisible" y esta línea:
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(keyboard_edittext, InputMethodManager.SHOW_FORCED); // SHOW_IMPLICIT also failed
2. esta línea en el onCreate()
:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
Este método realmente muestra un cuadro blanco vacío en el 10% inferior de la pantalla pero no en el teclado, aunque cuando lo ejecuto ahora no hace nada.
3. Otros dos líneas en el onCreate()
:
InputMethodManager m = (InputMethodManager)this.getSystemService (Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);
Sin suerte en cualquiera de estos. ¿Es posible mostrar el teclado virtual (y luego usar onKeyUp
/onKeyDown
) sin enfocar un EditText?
En este momento, la única forma en que puedo ver es acercarme a esto es crear mi propia implementación del teclado virtual (es decir, compilarlo desde cero). ¡No estoy esperando eso!
Incluso si logra mostrar el teclado virtual, onKeyUp()/Down() no recibirán llamadas, al menos no para todas las teclas y en todas las versiones de Android. En algunas versiones de Android (más antiguas) (creo que 1.5 y quizás 1.6) onKeyDown() se llama con teclas numéricas, pero no con letras. Sin embargo, en general, usar onKeyDown() para recibir la entrada de teclado no lo conducirá a los resultados deseados, esto solo funcionará correctamente con los teclados duros. – ubuntudroid