这个问题主要体在全面屏手机上,统称为安全区域
直接上图(不知道怎么调正,😓)
这个问题刚开始困扰了我好久, 但是去看抖音发现它底部也是有安全区域的,才知道在Android上是无法完全消除的 (第二种的方法是可以消除掉的,但是会影响用户体验) 而抖音也该也是采用的第三种方式
我一共找到了3种方案里解决这个问题
从最简单的来说
第一种:最物理的方式
关闭手机导航手势
第二种:这种对用户的体验效果不是很好(个人态度)
plus.navigator.hideSystemNavigation(true)
这种方法虽说有一定的可行性,但是唯一的缺点就是,每次退出需要从底部滑动两次,就跟退出手机游戏界面一样(例如:王者荣耀)
第三种:这个解决的也不是很好
let color, ac, c2int, win;
color = plus.android.newObject("android.graphics.Color")
ac = plus.android.runtimeMainActivity();
c2int = plus.android.invoke(color, "parseColor", "#000000")
win = plus.android.invoke(ac, "getWindow");
plus.android.invoke(win, "setNavigationBarColor", c2int)
这种其实就是在修改底部安全区域颜色
但是这种方法存在的最大问题就是页面跳转时会出现无法跳转,或者白屏、闪屏的问题
直接上效果
最后发现这个方法不能平凡执行
解决方式就是让它只执行一次
onLaunch: function() {
uni.hideTabBar()
// 只是被封装了,用法还是那样
this.$utils.upTabColor("#000000")
// 禁止横屏
plus.screen.lockOrientation("portrait-primary")
},
这样就不会出现白屏问题
归根结底最好的方式还是最物理的方法,毕竟代码能力有限,无法去操作系统问题文章来源:https://www.toymoban.com/news/detail-493651.html
哦对了;华为因为是鸿蒙系统,没有这个东西呢 文章来源地址https://www.toymoban.com/news/detail-493651.html
到了这里,关于Android手机底部安全区域问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!