11

Estoy utilizando phonegap para desarrollar una aplicación web para Android, y como tendré mi propio teclado en HTML, necesito deshabilitar el teclado del sistema de Android, evitando que aparece cuando el usuario hace clic en cualquier campo de entrada de texto. No quiero usar el campo de entrada readonly o onblur() ya que me gustaría tener el cursor en el texto archivado para que el usuario pueda mover la posición del cursor mientras está ingresando las entradas.Cómo deshabilitar por completo el teclado virtual para todas las entradas en Android webview

Así que quiero deshabilitar por completo el teclado de Android por defecto, traté de agregar android:windowSoftInputMode="stateAlwaysHidden" a manifest.xml pero esto no funciona.

También trato de usar una interfaz de JavaScript desde here, pero hubo un problema de bloqueo de javascript-java en Android 2.3.x. (link to issue). Entonces todavía no tengo una buena solución. Por favor ayuda.

Gracias de antemano por cualquier ayuda.

+0

¿Ha configurado 'WebViewClient' y' 'la WebChromeClient' de WebView'? Trabajé en un proyecto que usaba jQuery Mobile y tuvimos que configurar ambos para que las cosas funcionaran correctamente. Puede que tenga que interceptar un evento JS y vincularlo a la lógica de Java en el código nativo. Veré esto y lo mantendré actualizado. –

+0

Gracias por los consejos, pero creo que phonegap ya configuró tanto webviewclient como webchromeclient. Veré más en eso. gracias – kli

+1

Bien, mira mis sugerencias a continuación.No parece que exista una forma bonita de hacerlo, pero volver a hacer cosas bonitas en Android es casi imposible en muchos casos. –

Respuesta

1

Bien, ¡tienes algunas opciones! Se puede tratar de desactivar el teclado completo usando:

  • getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

    • Si elige esta manera, asegúrese de volver a la configuración normal si eso no se hace de forma automática. No he usado esto antes y no podría decirte cómo se comporta, ¡pero tenlo en cuenta! Usted no desea que un usuario responde a un texto que reciben durante el uso de su aplicación sólo a haber bloqueado su teclado :)


  • Usted podría utilizar algo similar a la siguiente enlace. No he profundizado demasiado (tl; dr) pero él crea una vista personalizada que se extiende desde android.inputmethodservice.KeyboardView y la usa en su lugar.


Cuestiones relacionadas