2011-07-05 23 views

Respuesta

56

Si desea que las dimensiones de la pantalla en píxeles se puede utilizar este código:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 

continuación, puede añadir la condición de que compara la altura para satisfacer su necesariamente.

en pulgadas:

DisplayMetrics dm = new DisplayMetrics(); 
getWindowManager().getDefaultDisplay().getMetrics(dm); 
double x = Math.pow(dm.widthPixels/dm.xdpi,2); 
double y = Math.pow(dm.heightPixels/dm.ydpi,2); 
double screenInches = Math.sqrt(x+y); 
Log.d("debug","Screen inches : " + screenInches); 
+0

Entonces, ¿qué pasa si quiero ir por la pulgada? – yoshi24

+1

@ yoshi24, editado mi respuesta ... – evilone

+0

Funciona como un encanto, gracias! – yoshi24

19

Desde dentro de la actividad:

int width = getWindowManager().getDefaultDisplay().getWidth(); 
int height = getWindowManager().getDefaultDisplay().getHeight(); 

O si sólo tiene Context objeto:

WindowManager windowManager = (WindowManager)mContext.getSystemService(WINDOW_SERVICE); 
int width = windowManager.getDefaultDisplay().getWidth(); 
int height = windowManager.getDefaultDisplay().getHeight() 

ACTUALIZADO. Cómo detectar ejecuta la aplicación en la gran pantalla:

//Android Level 9 and up: 
Configuration config = getResources().getConfiguration(); 
if((config.screenLayout & Configuration.SCREENLAYOUT_SIZE_MASK) == 
    Configuration.SCREENLAYOUT_SIZE_XLARGE) 
{ 
    //xlarge screen 
} 
+0

Ok gracias! Entonces, ¿cómo compararía eso para decir? ¿Pantalla de 10.2 pulgadas? ¿A qué medida se usa? – yoshi24

+0

Actualizó la respuesta. – inazaruk

+0

¡Genial! ¡Gracias, eso es realmente mejor! – yoshi24

0

En su onCreate o cualquier otro método Actividad simplemente hacer:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth(); 
int height = display.getHeight(); 
Cuestiones relacionadas