遇到了计算导航栏的一些奇奇怪怪的bug,安卓机型太多了!!!
/**
* 返回在当前横竖屏下是否显示了导航栏
* 可用于在设置全屏FLAG等等情况下,辅助判断导航栏是否还显示了出来
*/
fun isNavigationBarShow(activity: Activity, isLandScape: Boolean): Boolean {
return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
val display = activity.windowManager.defaultDisplay
val size = Point()
val realSize = Point()
display.getSize(size)
display.getRealSize(realSize)
if(isLandScape) {
realSize.x !== size.x
}else{
realSize.y !== size.y
}
} else {
val menu = ViewConfiguration.get(activity).hasPermanentMenuKey()
val back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK)
!(menu || back)
}
}
本文介绍了一种检测安卓应用中导航栏是否显示的方法,适用于不同屏幕方向,通过比较实际尺寸和可见尺寸来判断导航栏是否被隐藏。
761

被折叠的 条评论
为什么被折叠?



