¿Cómo obtengo el ancho y la altura máxima de un dispositivo en Android?
Pregunta
Hola, tengo un problema para crear una vista personalizada para una aplicación de Android. Mi vista personalizada quiere usar si se permite el ancho máximo de pantalla. No pude encontrar ninguna manera de recuperar este valor.
¿Alguien puede señalarme el método correcto?
Solución
Probar
mWinMgr = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE);
int displayWidth = mWinMgr.getDefaultDisplay().getWidth();
donde el contexto es la instancia de Context
.
Por defecto, el FrameLayout
en el que se mantiene su diseño, llena toda la pantalla horizontalmente (verticalmente puede tener una barra de estado). Por lo tanto, puede establecer el ancho máximo posible utilizando android: layout_width = " fill_parent "
correctamente.
Otros consejos
Aquí hay una buena respuesta :
mWinMgr.getDefaultDisplay (). getWidth ();
// getWidth () y getHeight () métodos están en desuso ahora
Puede obtener Ancho y alto de la siguiente manera: original
Display display = getWindowManager().getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int height = size.y;
DisplayMetrics size = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(size );
int w = size .widthPixels;
int h = size .heightPixels;
WindowManager window = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
window.getDefaultDisplay().getMetrics(dm);
devicewidth = (dm.widthPixels);