共用方式為


Display.GetRealMetrics(DisplayMetrics) 方法

定義

取得目前系統狀態中應用程式可存取之顯示的最大區域大小,而不減去任何窗口裝飾或套用縮放比例。

[Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")]
public virtual void GetRealMetrics (Android.Util.DisplayMetrics? outMetrics);
[<Android.Runtime.Register("getRealMetrics", "(Landroid/util/DisplayMetrics;)V", "GetGetRealMetrics_Landroid_util_DisplayMetrics_Handler")>]
abstract member GetRealMetrics : Android.Util.DisplayMetrics -> unit
override this.GetRealMetrics : Android.Util.DisplayMetrics -> unit

參數

outMetrics
DisplayMetrics

DisplayMetrics要接收計量的物件。

屬性

備註

取得目前系統狀態中應用程式可存取之顯示的最大區域大小,而不減去任何窗口裝飾或套用縮放比例。

大小會根據顯示器的目前旋轉來調整。

傳回的大小會落入下列其中一個案例: <ol><li>裝置在顯示器上沒有分割區。 傳回的值是目前系統狀態中應用程式可存取顯示的最大區域,不論視窗模式為何。</li li><>裝置會將單一顯示器分割成多個分割區。 應用程式受限於顯示器的一部分。 這在顯示大小變更的裝置中很常見,例如可折疊或大型螢幕。 傳回的大小會符合應用程式受限於的顯示部分。</li li><>視窗管理員會使用 adb shell wm size模擬不同的顯示大小。 傳回的大小會符合仿真的顯示大小。</li></ol></p>

傳回的值不適合<>在重設大小和放置UI元素</b>時使用,因為它不會反映這些案例中的應用程式視窗大小。 WindowManager#getCurrentWindowMetrics() 是傳回目前應用程式視窗大小的替代方法,即使視窗位於具有分割顯示器的裝置上也一樣。 這有助於防止UI錯誤,其中UI元素不對齊或放置在視窗界限之外。

正確處理多視窗模式是必要的,因為應用程式不一定是全螢幕。 大型螢幕裝置上的使用者,例如平板電腦或 ChromeOS 裝置,更有可能使用多視窗模式。

例如,請考慮將顯示器分割成兩半的裝置。 使用者可能會在第一個分割區上開啟全螢幕應用程式。 在第二個分割區上,它們可能會有兩個應用程式在分割畫面中開啟(多視窗模式的範例),每個應用程式都會取用分割區的一半。 在此情況下, WindowManager#getCurrentWindowMetrics() 報告全螢幕視窗的大小是螢幕大小的一半,而每個分割畫面視窗的大小是螢幕的四分之一。 另一方面, #getRealMetrics 會報告所有視窗的螢幕大小一半,因為應用程式視窗全都受限於各自的分割區。 </p>

已取代這個成員。 使用 WindowManager#getCurrentWindowMetrics() 來識別活動視窗的目前大小。 UI 相關工作,例如選擇 UI 設定,應該依賴 WindowMetrics#getBounds()。 使用 Configuration#densityDpi 來取得目前的密度。

android.view.Display.getRealMetrics(android.util.DisplayMetrics)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於