我需要能够知道屏幕的确切大小,不包括软件导航栏.我正在使用andengine来制作游戏.
我们希望全力支持新的Nexus系列(4,7和10)
根据许多人指出的this page,软件导航栏的大小应为48dp.
然后使用this优秀stackexchange帖子上的信息我收集了用于计算软件导航栏大小的公式应该是:px = dp *(ppi / 160)
根据the official site,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.据报道,软件导航栏的大小为64px ……
我不是要求这些设备的大小,我可以谷歌(或搜索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;