Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了检查Android设备是否有软件或硬件导航按钮大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_675_0@
我正在编写一个带透明导航栏的 Android应用程序.要相应地调整布局,我需要知道设备是否有软件或硬件按钮.

在我的研究期间,我遇到了以下解决方案:

Boolean hasMenuKey = ViewConfiguration.get(context).hasPeRMANentMenuKey();

这种方法不适用于三星Note 4或HTC One等新设备,它们没有菜单键,但仍有硬件按钮.

Boolean hasBACkKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK);
Boolean hasHomeKey = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_HOME);
Boolean hasHardwareButtons = hasBACkKey && hasHomeKey;

这不起作用,因为一些设备,如索尼Xperia Z3 Compact,然它有一个软件导航栏,但它返回True.

有没有可靠的方法来确定是否有物理按钮或软件导航栏?

解决方法

请参阅 this answer.您@R_197_11374@得显示的实际高度(以像素为单位),然后获取应用程序可用的高度,并确定设备是否具有带有这些值的屏幕导航栏.

大佬总结

以上是大佬教程为你收集整理的检查Android设备是否有软件或硬件导航按钮全部内容,希望文章能够帮你解决检查Android设备是否有软件或硬件导航按钮所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。