Estilo de pantalla cuando el teclado virtual está activo

Idealmente, quiero que toda la interfaz tenga un estilo personalizado que se ve en el IOS (itouch / ipad) o Android equivalente con el teclado virtual presente. Vea a continuación para más detalles.

Una costumbre establecer reglas de hacking CSS para estar activo, cuando el teclado está "presente", también es una solución aceptable.

Metas tanto androides y ios, en un sitio web (HTML / JavaScript / CSS) También tenga en cuenta que el diseño interior es: "fluido".

Edit: Esto era más diseño, entonces texto; Así que los cambios no son desorientadores. En el nivel más bajo, sólo deseo un cambio de diseño con y sin las teclas virtuales (Tal vez sólo un cambio de fondo).

La pregunta sobre la cual, esto es una buena o mala idea de diseño, es discutible. Sin embargo, creo que es irrelevante para la pregunta. Para tal exploit puede tener usos más que texto (como juegos, o medios interactivos).

De ahí la recompensa: A pesar de que ya no necesitaba la respuesta para el proyecto en el que estaba trabajando (se utilizó un diseño alternativo). Sigo creyendo que esta pregunta puede beneficiarse de ser contestada.

Comportamiento predeterminado

+--------+ | | +------------+ +-+-hidden-+-+ <- ~50% hidden | +--------+ | | +--------+ | | | | | | |visible | | | | | | \ | | | | <- ~50% visible | | 100% | | ==> | +--------+ | | | | | / | |virtual | | | | | | | | keys | | | +--------+ | | +--------+ | +------------+ +------------+ 

Comportamiento deseado

 +------------+ +------------+ | +--------+ | | +--------+ | | | | | | |visible | | <- 100% visible (example styling) | | | | \ | | | | Custom Styling | | 100% | | ==> | +--------+ | | | | | / | |virtual | | | | | | | | keys | | | +--------+ | | +--------+ | +------------+ +------------+ 

No estoy seguro, ¿es este el efecto deseado ?. Revise este enlace

http://jsfiddle.net/UHdCw/3/

Actualizar

(1). Suponiendo que es un sitio web y se está ejecutando en el navegador del dispositivo. Entonces podemos comprobar la presencia del teclado virtual comprobando el tamaño de la pantalla.

Compruebe el navegador del dispositivo: http://jsfiddle.net/UHdCw/8/show/

Código: – http://jsfiddle.net/UHdCw/8/

(2). Si está creando aplicaciones nativas con HTML5 y Phonegap, las cosas serán diferentes. Dado que no hay gancho API directo para comprobar el estado del keybord, tenemos que escribir nuestro propio complemento en Phonegap.

En Android puedes comprobar mostrar / ocultar el estado del teclado usando el código nativo [ comprobar aquí ]. Y tenemos que escribir plugin Phonegap para obtener esos eventos en nuestro HTML.

[Phonegap es un ejemplo. Creo que la mayoría de los html a los marcos nativos tienen este tipo de felicidad para gancho con código nativo]

Actualización de iOS

Como usted dijo no hay cambio en la altura / posición cuando el teclado está presente. Podemos hacer una cosa, cuando la entrada consigue el foco, podemos agregar la clase de encogimiento y reducir el tamaño de los elementos. Compruebe el siguiente enlace.

http://jsfiddle.net/UHdCw/28/show/

Me encontré con el mismo problema, esto funciona para mí:

 <!-- Android Viewport height fix--> <script type="text/javascript"> var isAndroid = navigator.userAgent.toLowerCase().indexOf("android") > -1; //&& ua.indexOf("mobile"); if(isAndroid) { document.write('<meta name="viewport" content="width=device-width,height='+window.innerHeight+', initial-scale=1.0">'); } </script> 

Haga que JavaScript aplique una clase al cuerpo cuando un elemento de entrada tiene focus .

 $("input, textarea").focus(function(){ $(document.body).addClass('when-keyboard-showing'); }); $("input, textarea").blur( function(){ $(document.body).removeClass('when-keyboard-showing'); }); 

A continuación, utilice las consultas @media para determinar si la vista móvil:

 @media (max-width:550px) { body.keyboard-up .header { height:0; padding:0; } } 

La combinación te dejará estilizar la página cuando el teclado esté arriba, en móvil. Gracias.

  • ¿Tiene crashlytics una API pública?
  • Obtener la información de "mejor conjetura" de una imagen como la búsqueda de imagen inversa de google
  • Google Analytics en Android
  • ¿Es posible desarrollarse para Android en Android?
  • ¿Necesito un dispositivo Android real para desarrollar una aplicación de Android para el mercado?
  • Multi Seleccionar cuadro <select> en dispositivos móviles
  • ¿Por qué el Samsung Galaxy S ignora la metaetiqueta escalable por el usuario?
  • Android coverflow
  • Evento Javascript para el lanzamiento del navegador móvil o dispositivo despertador
  • Convierta HTML5 en una aplicación independiente de Android
  • ¿Cuáles son las ventajas del lenguaje de programación Kotlin?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.