检查Android设备是否有软件或硬件导航按钮

检查Android设备是否有软件或硬件导航按钮,第1张

概述我正在编写一个带透明导航栏的 Android应用程序.要相应地调整布局,我需要知道设备是否有软件或硬件按钮. 在我的研究期间,我遇到了以下解决方案: boolean hasMenuKey = ViewConfiguration.get(context).hasPermanentMenuKey(); 这种方法不适用于三星Note 4或HTC One等新设备,它们没有菜单键,但仍有硬件按钮. bool 我正在编写一个带透明导航栏的 @L_404_0@应用程序.要相应地调整布局,我需要知道设备是否有软件或硬件按钮.

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

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.您可以获得显示的实际高度(以像素为单位),然后获取应用程序可用的高度,并确定设备是否具有带有这些值的屏幕导航栏. 总结

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/1135992.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存