gpt4 book ai didi

android - 如何在 Android Honeycomb 中获取屏幕分辨率?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:31:38 30 4
gpt4 key购买 nike

我想在 Android Honeycomb 上获得真实的屏幕分辨率。

这是我的代码

Display display = getWindowManager().getDefaultDisplay();
int w = display.getWidth();
int h = display.getHeight();

我的设备是 Asus Transformer TF101,尺寸为 1280x800。

但上面的代码使 w = 1280 和 h = 752(我想要的是 800 而不是 752)。

我知道 h < 800 因为状态栏减去了它。

有什么办法可以得到屏幕的实际高度?

非常感谢!

最佳答案

从 Andorid 3.2 开始,系统状态栏的高度不包含在 DisplayMetrics 的高度中,您必须使用未记录的 API(Display.getRawWidth() 和 Display.getRawHeight())来获取物理屏幕宽度或高度。

下面是一个例子,向您展示如何获取物理屏幕宽度或高度。

Method mGetRawW = Display.class.getMethod("getRawWidth");
Method mGetRawH = Display.class.getMethod("getRawHeight");
int nW = (Integer)mGetRawW.invoke(dp);
int nH = (Integer)mGetRawH.invoke(dp);

更新:对于 API 13-16,您必须使用上面的代码来获取实际的宽度/高度。对于 API 17+,您现在可以使用新的公共(public) API Display.getRealSize()。

关于android - 如何在 Android Honeycomb 中获取屏幕分辨率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7213771/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com