¿Puede Android WebView HTML influenciar las características del teclado o del teclado?

Tengo una webview con un formulario de entrada de tarjeta de crédito (con los campos estándar <input type="text" /> ). En diferentes versiones de Android obtengo diferentes teclados. Kit-Kat no parece mostrar teclas Prev / Next cuando está dentro del formulario.

  1. En el lado web, ¿tengo alguna influencia sobre esto?
  2. Si no, ¿qué debo recomendar al desarrollador para el lado de Android?

Ejemplo sin Prev / Next :

La misma vista web, con Prev / Next :

Introduzca aquí la descripción de la imagen

Puede controlar el teclado desde WebView, pero, como otras respuestas sugieren, puede que no funcione con cada teclado hecho. A pesar de eso, normalmente encuentro que la mayoría de los teclados principales han implementado el comportamiento que quiero.

El WebView tiene un método llamado onCreateInputConnection . Puede conectarse a este método y agregar (y / o quitar) los indicadores a inputType y / o imeOptions . Hay muchas banderas disponibles para usted.

Consulte las opciones de EditorInfo , en particular IME_FLAG_NAVIGATE_NEXT e IME_FLAG_NAVIGATE_PREVIOUS . Vea el uso a continuación (que elimina los indicadores prev / next de las opciones del teclado):

 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = super.onCreateInputConnection(outAttrs); outAttrs.imeOptions = outAttrs.imeOptions & ~EditorInfo.IME_FLAG_NAVIGATE_NEXT & ~EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS; return inputConnection; } 

Otra cosa que podrías intentar es ocultar la barra de sugerencias entera utilizando los flags InputType TYPE_TEXT_FLAG_NO_SUGGESTIONS . Vea el ejemplo a continuación (que agrega el indicador "sin sugerencias" al tipo de entrada):

 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = super.onCreateInputConnection(outAttrs); outAttrs.inputType = outAttrs.inputType | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; return inputConnection; } 

Hay muchas otras banderas disponibles para tener un juego con para personalizar el IME directamente desde el WebView. Refiérase al desarrollador a las páginas enlazadas y debería ser capaz de lograr el comportamiento que está buscando en la mayoría de los teclados.

Tienes un control mínimo, pero no mucho. El tipo de control (passowrd, numérico, texto) se enviará al teclado virtual y se usará para cambiar el modo en que se muestran las cosas. Sin embargo, las opciones que hace el teclado basadas en esas opciones son específicas del teclado: el teclado de Google reacciona de forma diferente a Swype, que reacciona de forma diferente a Swiftkey, que reacciona de forma diferente al teclado de Samsung, etc.

Probado en Android Studio 3.0 (SDK API 26), la respuesta https://stackoverflow.com/a/23462658/3286489 se bloquea. Después de la búsqueda encontró este trabajo.

 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = new BaseInputConnection(this, true); outAttrs.imeOptions = outAttrs.imeOptions & ~EditorInfo.IME_FLAG_NAVIGATE_NEXT & ~EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS; return inputConnection; } 

Y

 @Override public InputConnection onCreateInputConnection(EditorInfo outAttrs) { InputConnection inputConnection = new BaseInputConnection(this, true); outAttrs.inputType = outAttrs.inputType | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS; return inputConnection; } 
  • Configuración de WebView para ver sitio de escritorio y sitio no móvil
  • Cargando el archivo html desde la carpeta local en la vista web
  • ¿Cómo utilizar WebView para mostrar páginas html en modo lector de libros electrónicos?
  • Detectar memoria disponible dentro de un WebView
  • Cómo mostrar barras de desplazamiento en WebView de Android
  • WebView Mostrar página blanca o en blanco
  • WebView de Android: renderizado extraño de líneas 1px en pantallas hdpi
  • Android WebView, cómo manejar las redirecciones en la aplicación en lugar de abrir un navegador
  • Método restorePicture de WebView - Impedir que la vista web vuelva a cargar la página
  • Descargar pdf a través de un navegador web y una vista web
  • Se bloquea el video HTML 5 al ir a pantalla completa
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.