viernes, 25 de enero de 2013

Obtener dimensiones y versión API del dispositivo.

Obtenemos la versión de la API con:

int api = android.os.Build.VERSION.SDK_INT;

Podemos obtener las dimensiones de la pantalla de la siguiente manera, valida para API13 y superiores:

//Definimos variables
int Measuredwidth = 0;
int Measuredheight = 0;
//Point es un objeto capaz de almacenar coordenadas enteras
Point size = new Point();
// Usamos WindowsManager dentro de la clase view para obtener datos de la //visualización
 WindowManager w = getWindowManager();
// Usamos .getsize para obtener los datos de tamaño
w.getDefaultDisplay().getSize(size);
// Igualamos las variables enteras a los valores x e y del objeto Point
Measuredwidth = size.x;
Measuredheight = size.y; 
La otra forma para APIs inferiores a la 13 es de la siguiente manera:



//Declaramos variables
int Measuredwidth = 0;
int Measuredheight = 0;
// Usamos WindowManager para obtener datos de la pantalla
WindowManager w = getWindowManager();
// Usamos display para obtener datos de la visualización
Display d = w.getDefaultDisplay();
// Igualamos a las variables los datos de ancho y alto
Measuredwidth = d.getWidth();
Measuredheight = d.getHeight(); 


Por último una combinación de ambos códigos para detectar la versión de la API y usar una o otra forma de detectar las medidas de la pantalla, sería:


// Declaramos las variables, objetos y clases a usar:int Measuredwidth = 0;int Measuredheight = 0;Point size = new Point();WindowManager w = getWindowManager();
// Hacemos if para realizar una y otra acciónif(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.HONEYCOMB_MR2){
w.getDefaultDisplay().getSize(size);Measuredwidth = size.x;Measuredheight = size.y; 
}else{
Display d = w.getDefaultDisplay(); Measuredwidth = d.getWidth(); Measuredheight = d.getHeight(); }

Documentación:

WindowsManager
Point
Android.os.Build.version
Display (Apis <13)



No hay comentarios:

Publicar un comentario