Display
added in API level 1.
public final class DisplayextendsObject
| java.lang.Object -> android.view.Display |
|---|
提供有关逻辑显示的大小和密度的信息.
显示区域使用两种不同的方式来描述:
应用程序显示区域是指包含应用程序窗口的显示部分. 不包括系统组件占据的空间. 应用的显示区域比真实的显示区域要小, 是因为因为系统会减去诸如状态栏等装饰元素所需的空间. 使用下面的方法获取应用的显示域:
getSize(Point),getRectSize(Rect)和getMetrics(DisplayMetrics)..真实的显示区域还要把系统的组件占据的空间也包含进去, 即使如此, 如果窗口管理器使用(adb shell wm size)模拟较小的显示, 则实际显示区域可能小于显示器的物理大小, 使用下面的方法来获取真实的显示区域:
getRealSize(Point),getRealMetrics(DisplayMetrics)..
逻辑显示不一定表示诸如内置屏幕或外部监视器的特定物理显示设备. 逻辑显示的内容可以根据当前附加的设备和是否启用镜像在一个或多个物理显示器上呈现.
概要
| 内部类 | |
|---|---|
| class | Display.HdrCapabilities 封装给定显示器的HDR功能. |
| class | Display.Mode 显示支持的显示模式. |
公共方法
getCurrentSizeRange
added in API level 16.
void getCurrentSizeRange (Point outSmallestSize, Point outLargestSize)
在屏幕尺寸没有物理变化的情况下, 返回应用程序在正常操作下可能遇到的显示尺寸范围.随着方向的变化, 这是你将看到的基本大小, 在每次旋转中还要把屏幕的装饰考虑在内. 例如状态栏总是在屏幕的顶部, 因此在横屏和竖屏的时候会有不同的高度, 这里返回的最小高度将是两者中较小的一个. 这是为了让应用程序了解通过设备旋转时会遇到的尺寸范围,在旋转时提供稳定的UI. 这里的尺寸把所有除了应用占有的有效区域外的标准的系统装饰都考虑进来: 状态栏, 导航栏, 系统栏, 等等. 这里不会把像IME软键盘这类短暂显示的元素考虑进来.
| 参数 | |
|---|---|
| outSmallestSize | Point: 使用应用程序检测到最小高度和最小宽度来填充, 单位是像素(不是dp单位). 里面的x (width) 直接对应于Configuration.smallestScreenWidthDp, except the value here is in raw screen pixels rather than dp units. 你的应用可能获取到比最小宽度和最小高度小的值, 例如, 当前软键盘正在显示. |
| outLargestSize | Point: 使用应用程序检测到最大高度和最大宽度来填充, 单位是像素(不是dp单位). 你的应用可能获取到比最大宽度和最大高度大的值, 例如, 系统装饰, 比如状态栏等隐藏起来了. |
getRealSize
added in API level 17.
获取屏幕的显示分辨率,而不会减去任何窗口装饰或应用任何兼容性比例因子.
当窗口管理器正在模拟较小的显示时,实际尺寸可能小于屏幕的物理大小 (使用adb shell wm size).
| 参数 | |
|---|---|
| outSize | Point: 设置设备的显示分辨率. |