如何使用和不使用软导航键(即:Nexus 5,Galaxy S4)定位设备?

时间:2015-07-30 20:18:20

标签: android layout styles screen-size softkeys

我到处寻找一个没有成功的答案。我正在使用values-xxhdpi文件夹为nexus 5设置我的应用程序的布局尺寸,但是当我切换到galaxy S4模拟器(相同的分辨率但没有软导航键)时,布局不再正常。

有没有办法在屏幕底部使用和不使用软导航来定位具有相同分辨率的设备?

谢谢!

2 个答案:

答案 0 :(得分:1)

使用:

ViewConfiguration.hasPermanentMenuKey()

注意 这仅适用于SDK> = 14

<强>编辑:

boolean hasBackKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);

if (hasBackKey && hasHomeKey) {
    // no navigation bar, unless it is enabled in the settings
} else {
    // 99% sure there's a navigation bar
}

答案 1 :(得分:0)

您可以检测设备是否具有硬件菜单键(可用于实现该功能的方法,例如here所述)并自行应用不同的资源集。

没有办法做到这一点&#34;自动&#34;例如,通过强制应用程序使用不同的drawable文件夹。