最近在开发app项目,使用StatusBar组件内设置translucent为true,对顶部固定的状态栏是否透明的效果。因为translucent属性只对安卓手机生效。
但是随之而来发现其他不带tabbar导航的页面,底部出现tabbar页面并带有样式错乱,好苦恼,为什么会影响呢,网上也没有相似的解答,,,,
最后思来想去,想到状态栏既然设置里透明效果,那么导航栏高度还是默认有的。但是头部既然铺满了导航栏,那就说明整体页面高度会随之向上,移动了导航栏高度的距离,导致其他不该有底部tabbar的页面会不会受整体高度偏移的影响,暴露出来了。尝试在整个main页面使用margin-top试试,发现不该出现底部tabbar导航栏的页面的问题没有了。当然,不能直接使用margin-top,不然无法实现铺满整个顶部的需求了,后来想了想,可以对底部tabbar的高度降低一些,这样问题完美解决。华为的手机有点坑呀,其他安卓手机没有问题,就因为它的出现,还要处理,它的底部tabbar的高度只能接受178px,179的话就出现了问题。
根据不同业务需求来处理,app的底部tabbar高度,最好在ui设计稿出来前,和产品等去考虑到ios和安卓下的不同的高度值,主要是为了兼容安卓。可以参考某博底部导航栏,为什么选择吸底。
仅供参考,欢迎大家留言讨论,共同进步,