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 bug: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 属性许可证中所述的术语使用。

适用于