2011-08-04 6 views
5

yo estaba usando este código para obtener el tamaño de pantalla completa en mi solicitudDimensiones erróneas devueltas de Display y DisplayMetrics en Android 3.2?

Display display = getWindowManager().getDefaultDisplay(); 
int w = display.getWidth(); 
int h = display.getHeight(); 

En mi tableta, hasta OSVersion = 3.1, este código devuelve un w = 1280 y h = 800.

Ahora, después de una actualización a OS 3.2, estos valores son 1280x752 (en orientación horizontal)

por lo que parece que algo se cambia de 3.1 a 3.2 con respecto a esta llamada: se devuelve ahora el espacio disponible, no pantalla completa tamaño.

He intentado usar DisplayMetrics y widthPixels/heigthPixels pero devuelven los mismos valores. También utilizando el nuevo display.getSize (Punto p) devuelve los mismos valores

También intenté cambiar minSdkVersion y targetSdk en mi archivo de manifiesto a diferentes valores sin éxito.

¿Cómo recuperar el tamaño de pantalla completa en Android OS 3.2?

Mi aplicación debe ser compatible con el sistema operativo Android> = 1,6

+2

Encontré por mi cuenta que esto es un bugFix, no es un error. [http://groups.google.com/group/android-developers/browse_thread/thread/84dc17ef15867f1c/b2af70f1d7233cb2?lnk=gst&q=screen%20size%203.2#b2af70f1d7233cb2] tiene sentido, ya que 3.1 tabletas no tienen teclas de hardware pero solo teclas en pantalla para navegación (Inicio, Atrás, etc.) – Fabio

Respuesta

3

La diferencia se debe a las teclas variables. 3.2 tenerlos en cuenta cuando consulta el tamaño de pantalla disponible, pero 3.1 no lo hace.

Notará que si cambia la tableta al modo horizontal también cambiarán los números informados.

+0

genial, odiaba el problema "Tengo que restar la barra de notificaciones de la altura". ¡Bueno saber! – WarrenFaith

+1

Lo peor es que los recursos WXGA dedicados (values-mdpi-1280x800) ya no se tienen en cuenta, ya que el ancho/alto no coincide. – david

Cuestiones relacionadas