java – 检测导航栏可见性
发布时间:2020-12-15 02:20:14 所属栏目:Java 来源:网络整理
导读:我正在尝试检查导航栏的可见性.在三星Galaxy S8上,我可以切换导航栏的可见性. 我已经尝试了很多不同的方法来检查可见性,但它们都不适用于Galaxy S8. 一些例子:(它们将始终返回相同的值,无论它是显示还是隐藏) ViewConfiguration.get(getBaseContext()).hasPe
我正在尝试检查导航栏的可见性.在三星Galaxy S8上,我可以切换导航栏的可见性.
我已经尝试了很多不同的方法来检查可见性,但它们都不适用于Galaxy S8. 一些例子:(它们将始终返回相同的值,无论它是显示还是隐藏) ViewConfiguration.get(getBaseContext()).hasPermanentMenuKey()总是返回false 即使通过计算导航栏高度(How do I get the height and width of the Android Navigation Bar programmatically?),它也无法工作. 解决方法
也许对某人有用.用户可以隐藏导航栏.所以,最好的方法是订阅此活动.有用.
object NavigationBarUtils { // Location of navigation bar const val LOCATION_BOTTOM = 0 const val LOCATION_RIGHT = 1 const val LOCATION_LEFT = 2 const val LOCATION_NONE = 3 fun addLocationListener(activity: Activity,listener: (location: Int) -> Unit) { ViewCompat.setOnApplyWindowInsetsListener(activity.window.decorView) { view,insets -> val location = when { insets.systemWindowInsetBottom != 0 -> LOCATION_BOTTOM insets.systemWindowInsetRight != 0 -> LOCATION_RIGHT insets.systemWindowInsetLeft != 0 -> LOCATION_LEFT else -> LOCATION_NONE } listener(location) ViewCompat.onApplyWindowInsets(view,insets) } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Maven学习教程之搭建多模块企业级项目
- java – “无法解析facebook Graph API的符号`Request`”错
- 校园商铺-2项目设计和框架搭建-7验证Dao
- java – 我正在研究Robolectric但是发生了错误
- java-当我们在类名中使用“ iOS”作为单词时,是否应该将“
- java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的
- MOXy JAXB javax.xml.bind.PropertyException
- java – 如何拒绝来自iframe的站点访问?
- spring循环依赖策略解析
- java – 如何声明一个函数参数来接受抛出的函数?