這篇文章教你如何取得當前螢幕的寬、高、DPI 等資料。
想要取得當前螢幕的詳細資料,你必得要取得 Display 這個物件才行。而要獲得 Display 物件,那可得要先取得 WindowManager 物件。所以我先提一下,如何取得 WindowManager 物件。
要取得 WindowManager 物件,有兩個主要的方法。當你有 Activity instance 時,那你可以直接呼叫 Activity 的 getWindowManager()。如果你手上只有 Context instance,那你可以呼叫他的 getSystemService(Context.WINDOW_SERVICE)。例如:
一但取得 WindowManager 物件,只要呼叫 WindowManager 的 getDefaultDisplay(),就可以得到一個 Display 物件。透過 Display,接著你就可以利用底下這些 APIs 取得你要的資料。
除了這些,你還可更進一步地,透過 getMetrics(DisplayMetrics outMetrics),取得下面這些由 DisplayMetrics 所提供的欄位值。