在開發中,往往需要用到屏幕的實際尺寸、分辨率來繪製佈局、效果適配等。那麼怎麼獲得呢?
首先看一下獲取屏幕的尺寸:
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;