Android如何獲取屏幕的尺寸和屏幕的分辨率呢?

在開發中,往往需要用到屏幕的實際尺寸、分辨率來繪製佈局、效果適配等。那麼怎麼獲得呢?

首先看一下獲取屏幕的尺寸:

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;
2、如果Android版本小於3.2,即API Level小於 13,那麼因爲Display對象還沒有getSize()方法,應該用下面的方法獲取屏幕尺寸:
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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章