¿Cómo puedo obtener el ancho y la altura de la pantalla del sistema Android Honeycomb?

mi código:

Display display = activity.getWindowManager().getDefaultDisplay(); DisplayMetrics displayMetrics = new DisplayMetrics(); display.getMetrics(displayMetrics); System.out.println("screen width:"+displayMetrics.widthPixels); System.out.println("screen heigth:"+displayMetrics.heightPixels); 

cuando ejecuto este programa en el sistema Android Honeycomb, la salida es de 800 y 1232, pero la pantalla del dispositivo es 800_1280, hao puedo conseguirlo? Gracias.

Esta pieza de código funciona para mí (si no te importa usar métodos indocumentados):

 Display d = getWindowManager().getDefaultDisplay(); int width, height; Method mGetRawH; Method mGetRawW; try { mGetRawH = Display.class.getMethod("getRawWidth"); mGetRawW = Display.class.getMethod("getRawHeight"); width = (Integer) mGetRawW.invoke(d); height = (Integer) mGetRawH.invoke(d); } catch (NoSuchMethodException e) { e.printStackTrace(); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } //You should care about orientation here int o = getResources().getConfiguration().orientation; if (o == Configuration.ORIENTATION_PORTRAIT) { if (width > height) { int tmp = width; width = height; height = tmp; } } else if (o == Configuration.ORIENTATION_LANDSCAPE) { if (width < height) { int tmp = width; width = height; height = tmp; } } Log.d("d", "w=" + width + " h=" + height); 

En realidad, la width=800 and height=1280 pantalla completa del dispositivo width=800 and height=1280 (including status bar, title bar) . Si ejecuta el código para obtener el tamaño de la pantalla, el sistema no incluirá la altura de la barra de estado y la altura de la barra de título, por lo que obtendrá la height as 1232 (1280-(status bar height + title bar height)) .

1280 x 752 – paisaje 800 x 1232 – retrato

Estos 48 px son para la barra de notificación predeterminada de Andriod …

  • Cambiar la orientación del dispositivo Android desde la línea de comandos
  • ¿Necesitamos agregar todas las imágenes con diferentes dpi a las aplicaciones de Android?
  • ¿Cómo evitar cambios en la interfaz de usuario de Android, cuando el teclado está hacia arriba o se cambia la orientación?
  • ¿Cómo hacer que mi aplicación se vea igual en todos los dispositivos?
  • PreferenceScreen personalizado con botones pulsables
  • Excluir la pantalla xLarge para la versión de Android SDK 2.1
  • Mostrando la pantalla de configuración sólo en el primer inicio en android
  • Cambiar dinámicamente los datos de Custom PreferenceScreen
  • Establecer pantalla completa enCrear
  • Nueva actividad en Android "entrar desde el lado"
  • ¿Cómo utilizar ADB para enviar eventos táctiles al dispositivo utilizando comando sendevent?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.