Cómo obtener el ancho de ventana correcto en el cambio de orientación para dispositivos Android, tabletas y móviles

Estoy intentando calcular el ancho de la ventana en el cambio de la orientación para los dispositivos androides usando la función jquery $(window).outerWidth(true); . Este cálculo da la anchura correcta en el cambio de la orientación para el iphone y el ipad pero no en androide. Si inicialmente cargar la página en modo horizontal o vertical, estoy recibiendo el ancho correcto, pero una vez que cambie la orientación después de cargar la página estoy recibiendo el ancho para el modo retrato como estaba en modo horizontal y viceversa. Por favor, sugiera lo que está sucediendo y cómo puedo manejar este problema para que pueda obtener el ancho de ventana correcta en el cambio de orientación en el dispositivo Android

¿Por qué no utilizar el objeto de screen javascript. Usted debe ser capaz de obtener las dimensiones de la pantalla con:

 screen.height; screen.width; 

También estaba atascado en este problema y encontrar la mejor solución que funcionará en todas las platforms.Below es el código del evento 'orientationchange'.

 function onOrientationChange(event) { setTimeout(function(){ 'Enter you code here'; },200); } 

Espero, que te ayudará y la mayoría de los demás también .. Saludos.

Este post parece tener una solución que puede ser relevante para usted:

http://forum.jquery.com/topic/orientationchange-event-returns-wrong-values-on-android

En lugar de escuchar el evento orientationchange , puede escuchar el evento de redimensionamiento de ventana, se asegurará de que las propiedades de window.innerHeight / outerHeight se actualizaron.

Intente window.innerWidth , respectivamente, window.innerHeight ; Es posible que android no sobre outerWidth y Height;

  var isMobile = { Android: function () { return navigator.userAgent.match(/Android/i); }, BlackBerry: function () { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function () { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function () { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function () { return navigator.userAgent.match(/IEMobile/i); }, webOS: function () { return navigator.userAgent.match(/webOS/i); }, any: function () { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); } }; var tell_if_mobile; var mobile_tablet; if (isMobile.any()) { tell_if_mobile = true; } else { tell_if_mobile = false; var windowWidth = window.screen.width < window.outerWidth ? window.screen.width : window.outerWidth; tell_if_mobile = windowWidth < 800; mobile_tablet = windowWidth >= 500 ? "Tablet/Phablet Device" : "Desktop View (Mobile)"; } var mobile_type; mobile_type = isMobile.Android() ? "Android Device" : isMobile.BlackBerry() ? "Blackberry Device" : isMobile.iOS() ? "iOS Device" : isMobile.Opera() ? "Opera Mobile/Mini" : isMobile.Windows() ? "IEMobile" : isMobile.webOS() ? "webOS device" : tell_if_mobile == true ? mobile_tablet : "Not a mobile device"; alert(mobile_type); //result 
  • ¿Evita que la orientación de Live Wallpaper cambie cuando se abre una aplicación y se cambia la orientación?
  • ¿Cómo detectar el paisaje izquierdo (normal) contra el derecho del paisaje (reverso) con la ayuda para los dispositivos naturales del paisaje?
  • GetRotationMatrix y tutorial de getOrientation
  • Azimut encontrado con Sensor.TYPE_MAGNETIC_FIELD mucho más inestable que Sensor.TYPE_ORIENTATION
  • Orientación de la cámara en Android
  • Evento del dispositivo Android onConfigurationChanged no controla la orientación
  • ¿Cómo conservar la instancia de fragmento de fragmento de reproducción de vídeo después de un cambio de orientación?
  • Android: orientación manual de la pantalla sin reiniciar la actividad?
  • Cómo manejar la orientación del vídeo desde dispositivos móviles
  • Problema de orientación de la cámara en Android
  • Android Quiero obtener ángulo de rotación para el dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.