Los dispositivos con Ice Cream Sandwich pueden usar las teclas programables en pantalla, y esto significa que parte de la propiedad de la pantalla se toma con estas teclas. Necesito obtener la resolución de pantalla real, y no la resolución, menos el espacio ocupado por las teclas programables.Obtenga la resolución de pantalla real en Ice Cream Sandwich
He intentado lo siguiente, pero ni las obras:
Display display = getWindowManager().getDefaultDisplay();
int width = display.getWidth();
int height = display.getHeight();
Log.d("SCREEN RES", "Width: " + width + ". Height: " + height);
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
height = metrics.heightPixels;
width = metrics.widthPixels;
Log.d("SCREEN RES", "Width: " + width + ". Height: " + height);
Aquí está la salida:
12-19 20:18:42.012: D/SCREEN RES(20752): Width: 1196. Height: 720
12-19 20:18:42.012: D/SCREEN RES(20752): Width: 1196. Height: 720
La resolución real de la pantalla es de 1280 x 720 píxeles, no los 1196 x 720 píxeles.
¿Alguna idea?
Editar
estoy usando el siguiente código para que la aplicación de pantalla completa:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);
conclusión acerca de cómo obtener resolución real: http://stackoverflow.com/questions/11824193/htc-sensation-real-resolution – thecr0w