在开发中,往往需要用到屏幕的实际尺寸、分辨率来绘制布局、效果适配等。那么怎么获得呢?
首先看一下获取屏幕的尺寸:
1、从Android 3.2(API Level 13)开始,在Activity里使用下面的方法来获取屏幕尺寸(单位是像素):
Display display = getWindowManager().getDefaultDisplay();
//Activity#getWindowManager()
Point size = newPoint();
display.getSize(size);
int
width =size.x;
int
height = size.y;
如果代码不是写在Activity里,用下面的方法(通过WINDOW_SERVICE获取display对象):
WindowManager wm =(WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display =wm.getDefaultDisplay();
Point size = newPoint();
display.getSize(size);
int
width =size.x;
int
height = size.y;
Display display =getWindowManager().getDefaultDisplay();
int
width = display.getWidth();
int
height = display.getHeight();
接下来看一下如何获取屏幕的分辨率:
DisplayMetrics dm=new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float width=dm.widthPixels*dm.density;
float height=dm.heightPixels*dm.density;
getWindowManager().getDefaultDisplay().getMetrics(dm);
float width=dm.widthPixels*dm.density;
float height=dm.heightPixels*dm.density;