語言

Display.GetRealSize(Point) 方法

定義

取得應用程式在當前系統狀態下可存取的最大顯示區域大小,且不減去任何窗戶裝飾或套用縮放因子。

[Android.Runtime.Register("getRealSize", "(Landroid/graphics/Point;)V", "GetGetRealSize_Landroid_graphics_Point_Handler")]
public virtual void GetRealSize(Android.Graphics.Point? outSize);
[<Android.Runtime.Register("getRealSize", "(Landroid/graphics/Point;)V", "GetGetRealSize_Landroid_graphics_Point_Handler")>]
abstract member GetRealSize : Android.Graphics.Point -> unit
override this.GetRealSize : Android.Graphics.Point -> unit

參數

outSize
Point

設定成顯示的真實尺寸。

屬性

備註

取得應用程式在當前系統狀態下可存取的最大顯示區域大小,且不減去任何窗戶裝飾或套用縮放因子。

尺寸會根據顯示器當前的旋轉進行調整。

退回的尺寸會落在以下情況之一: <ol><li>裝置螢幕上沒有分割區。 回傳的值是應用程式在當前系統狀態下可存取的最大顯示區域,無論視窗模式為何。</li><li>這個裝置會將單一顯示器分割成多個分割區。 應用程式僅限於顯示的一部分。 這在顯示器尺寸會變動的裝置中很常見,例如摺疊裝置或大型螢幕。 回傳的大小會與應用程式被限制使用的顯示區域相符。</li><li>視窗管理器正在模擬不同的顯示尺寸,使用 adb shell wm size。 回傳的尺寸會與模擬顯示的尺寸相符。</li></ol></p>

回傳的值 <b>不適合用於調整 UI 元素<的大小與放置 b>,因為它在任何情況下都不反映應用程式視窗大小。 WindowManager#getCurrentWindowMetrics() 是一種替代方案,即使該視窗位於具有分割顯示的裝置上,也能回傳目前應用程式視窗的大小。 這有助於防止 UI 元素錯位或超出視窗範圍的錯誤。

正確處理多視窗模式是必要的,因為應用程式並非總是全螢幕。 使用大螢幕裝置(如平板或 ChromeOS 裝置)的使用者,較可能使用多視窗模式。

舉例來說,考慮一個顯示器被分割成兩半的裝置。 使用者可能在第一個分割區開啟全螢幕應用程式。 它們可能在第二個分割區開啟兩個應用程式(多視窗模式的例子),每個應用程式佔用分割區的一半。 在這種情況下, WindowManager#getCurrentWindowMetrics() 報告顯示全螢幕視窗的大小是螢幕的一半,而每個分割畫面視窗則是螢幕的四分之一大小。 另一方面,所有 #getRealSize 視窗的螢幕大小都被限制在各自的分割區,因此報告的螢幕尺寸只有一半。 </p>

此會員已被棄用。 用來 WindowManager#getCurrentWindowMetrics() 識別活動視窗目前的大小。 與使用者介面相關的工作,例如選擇介面配置,應依賴 WindowMetrics#getBounds()於 。

的 android.view.Display.getRealSize(android.graphics.Point)Java 檔。

本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。

適用於