我需要能够事先知道不包括软件导航栏的屏幕的确切大小。我正在使用 andengine 来创建游戏。
我们希望全面支持新的 Nexus 系列(4、7 和 10)
根据许多人指出的this page ,软件导航栏的大小应为48dp。
然后使用这个优秀的 stackexchange 帖子上的信息,我收集了计算软件导航栏大小的公式应该是:px = dp * (ppi / 160)
根据官方网站,Nexus 7 的屏幕为 216 ppi。
软件导航栏应该是:48 * (216 / 160) = 64.8 ≈ 64px
我们有一个 Nexus 7 平板电脑,软件导航栏是 75px。
这意味着 ppi 值(75 * 160) / 48 = 250
或
dp 大小实际上是(75 / 216) * 160 = 55.555... ≈ 55dp
那么它是哪一个?
此外,4.2 Android SDK 带有一些预制的 AVD。其中包括 Nexus 7。据报道,软件导航栏的大小为 64 像素...
我不是在问这些设备的大小,我可以用谷歌(或搜索 stackexchange)来查找这些数字。不购买设备就无法确定设备的屏幕尺寸吗?
[编辑]
我想我应该补充一点,我正在使用以下方法获取屏幕尺寸:
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics screenSize = new DisplayMetrics();
display.getMetrics(screenSize);
CAMERA_WIDTH = screenSize.widthPixels;
CAMERA_HEIGHT = screenSize.heightPixels;