網路搜尋的話也很容易找到
不過還是在此記錄一下
DisplayMetrics displaymetrics = new DisplayMetrics(); //使用 Activity 的 getWindowManager()獲得 WindowManager getWindowManager().getDefaultDisplay().getMetrics(displaymetrics); int height = displaymetrics.heightPixels; int width = displaymetrics.widthPixels;
主要就是在 Activity 裡利用 getWindowManager() 先取得系統唯一的 WindowManager
然後取得一個 DisplayMetrics 物件
這物件主要是存放解析度相關的屬性
包含 densityDpi, widthPixels, heightPixels ... 等
所以利用 DisplayMetrics 很簡單就得到螢幕實際像素了
2012 Dec 24 更新:
WindowManager 除了透過 Activity 的 getWindowManager()獲得之外
還可以透過 Context 的 getSystemService(Context.WINDOW_SERVICE) 取得
所以 code 也可以這樣改
public static int[] getDisplayPixels(Context context){ DisplayMetrics displaymetrics = new DisplayMetrics(); WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); windowManager.getDefaultDisplay().getMetrics(displaymetrics); int width = displaymetrics.widthPixels; int height = displaymetrics.heightPixels; return new int[]{width, height}; }
沒有留言:
張貼留言