2012-09-08 45 views
1

我知道讓「屏幕尺寸」使用DisplayMetrics的方式,但隨着音符的SDK文檔:獲得真正的屏幕大小的Android

此方法返回的大小並不一定代表 實際生尺寸(原始分辨率)的顯示器。返回的尺寸 可能會被調整,以排除始終可見的某些系統裝飾元素 。它也可以擴展爲與最初設計用於較小顯示器的舊應用程序兼容。

有無論如何得到真正的屏幕尺寸?

+0

可能重複的[如何獲取設備的屏幕大小?](http://stackoverflow.com/questions/6589101/how-to-get-screen-size-of-device),http:// stackoverflow。 com/questions/7527459/android-device-screen-size – nandeesh

+0

@VinayWadhwa我遇到了一種情況,我需要聲明一個大小與屏幕可以表示的最大大小相等的數據數組,稍後改變。因此,如果您使用的是Kindle Fire或Galaxy,則在停靠欄在線時使用「DisplayMetrics」將返回錯誤的結果。 –

回答

1

它可能不是你的問題的答案,但它可能是有用的知道,如果你需要一個視圖的維度,因爲你的代碼正在執行時,其佈局還沒有佈局(例如在onCreate() )可以使用View.getViewTreeObserver()。addOnGlobalLayoutListener()設置一個ViewTreeObserver .OnGlobalLayoutListener,並將需要視圖維度的相關代碼放在那裏。監聽器的回調將在佈局佈局完成後調用。

欲瞭解更多詳情請訪問:ViewTreeObserver

但是對於一般的屏幕尺寸,我們使用DisplayMetrics本身雖然忽略了SDK文檔註釋。