我设计了一个非常简单的应用程序来计算显示屏的高度和宽度。我正在使用在全高清 1920x1080 上运行的 HDMI 显示器。但是当我计算显示尺寸时,我得到的只是半高清分辨率,即 720x1080。我正在使用 WindowManager/DisplayMetrics 来计算窗口大小。
任何人都知道为什么它响应显示设备分辨率的一半。
我设计了一个非常简单的应用程序来计算显示屏的高度和宽度。我正在使用在全高清 1920x1080 上运行的 HDMI 显示器。但是当我计算显示尺寸时,我得到的只是半高清分辨率,即 720x1080。我正在使用 WindowManager/DisplayMetrics 来计算窗口大小。
任何人都知道为什么它响应显示设备分辨率的一半。
也许即使设备使用 1920x1080 显示输出,通过硬件到屏幕,它只是从 720x1080 放大(或者可能是 1280x720?)。
设备的内置屏幕是否与较小的屏幕分辨率完全相同,即报告为“一半”分辨率?
所以我认为Android设备处理较小分辨率的画布(显示缓冲区),然后只是重新缩放图像(可能由显示硬件)以使用更高分辨率将图像输出到外部屏幕。
然而,这只是一个猜测,因为您没有提供太多细节,例如什么设备、您使用什么代码等。
EDIT在 Android 4.0 之前,摩托罗拉提供了一个用于处理双屏操作的 API,即Motorola Dual Screen API。可悲的是,对 ICS 的支持已被放弃。有史以来最大的错误,恕我直言。