我怎么知道是否有导航栏?

时间:2015-03-16 15:49:47

标签: android android-layout android-activity

导航栏以透明度绘制在我的活动之上,以便通过导航栏查看我的内容。这很好,我希望这样。但是,有两种类型的设备:

  1. 带透明导航栏的设备
  2. 带有硬件导航栏的设备(如某些三星型号),其中内容当然不会在导航栏后面绘制。
  3. 我如何知道我的应用运行的设备是上面的类型1?即我怎么能以编程方式得到答案"是否有一个半透明的导航栏放在我的活动之上?"

1 个答案:

答案 0 :(得分:1)

您可以尝试以下内容:

boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey();
boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);

if(!hasMenuKey && !hasBackKey) 
{
    // Do whatever you need to do, this device has a navigation bar
}