我到处寻找没有成功的答案。我正在使用 values-xxhdpi 文件夹为 nexus 5 设置我的应用程序的布局尺寸,但是当我切换到 Galaxy S4 模拟器(相同的分辨率但没有软导航键)时,布局不再正常。
有没有办法在屏幕底部有和没有软导航的情况下定位具有相同分辨率的设备?
谢谢!
我到处寻找没有成功的答案。我正在使用 values-xxhdpi 文件夹为 nexus 5 设置我的应用程序的布局尺寸,但是当我切换到 Galaxy S4 模拟器(相同的分辨率但没有软导航键)时,布局不再正常。
有没有办法在屏幕底部有和没有软导航的情况下定位具有相同分辨率的设备?
谢谢!
利用:
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
}
您可以检测设备是否具有硬件菜单键(您可以用来实现该功能的方法,例如在此处描述)并自己应用一组不同的资源。
没有办法“自动”执行此操作,例如强制应用程序使用不同的drawable
文件夹。