Android:正在计算三星Galaxy S II导航栏

时间:2014-06-03 14:42:18

标签: android navbar galaxy

我有一台Android三星Galaxy S II设备,我正在测试我的应用程序。在我的应用程序中,我使用以下代码检查导航栏是否占用了屏幕上的任何空间:

Resources resources = context.getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0) {
    return resources.getDimensionPixelSize(resourceId);
}
return 0;

我这样做,所以我可以为其他设备设置适当的边距。但对于三星Galaxy S II,导航栏实际上并不在屏幕上(屏幕下方有一排电容式按钮)。但是,当我计算导航高度时,我得到一个非零值(72)。

有人可以向我解释为什么它会返回这个值吗?

1 个答案:

答案 0 :(得分:1)

这是因为无论设备如何,维度资源navigation_bar_height都存在。

您必须检查设备API级别,以及是否使用Build.VERSION.SDK_INThasPermanentMenuKey

的硬件按钮