uni-app HBuilder X自定义基座底部安全区域变成黑色

uni-app HBuilder X自定义基座底部安全区域变成黑色

开发环境 版本号 项目创建方式
Windows 23H2 HBuilderX

操作步骤:

当manifest.json 按照以下配置

"minSdkVersion" : 29, //Android平台最低支持版本
"targetSdkVersion" : 36 //Android平台目标版本

预期结果:

底部安全区域颜色默认白色,并且可被修改

实际结果:

底部安全区域变成黑色了,无法修改


### bug描述:

下图 是自定义基座

当manifest.json 按照以下配置

“minSdkVersion” : 29, //Android平台最低支持版本 “targetSdkVersion” : 36 //Android平台目标版本


自定义打包后 底部自定义基座底部安全区域变成黑色

这是啥原因?

通过

// #ifdef APP-PLUS var Color = plus.android.importClass(“android.graphics.Color”); plus.android.importClass(“android.view.Window”); var mainActivity = plus.android.runtimeMainActivity(); var window_android = mainActivity.getWindow(); window_android.setNavigationBarColor(Color.parseColor("#ffffff")); // #endif


无法修改

上传附件有源码,创建了一个基础项目只是添加了

“minSdkVersion” : 29, //Android平台最低支持版本 “targetSdkVersion” : 36 //Android平台目标版本


打自定义基座后,底部就变成黑色了

改成

“minSdkVersion” : 29, //Android平台最低支持版本 “targetSdkVersion” : 35 //Android平台目标版本


重新打自定义基座就好了

部分手机有该问题如:

手机型号:oppo Find X8  

系统:ColorOS 16.0.1  

Android版本:Android 16  

发现只要是Android 16手机都是这样

更多关于uni-app HBuilder X自定义基座底部安全区域变成黑色的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

能不能恢复解决一下呀,我都愁死了

更多关于uni-app HBuilder X自定义基座底部安全区域变成黑色的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这个问题是由于Android 16(Android 15)系统行为变更导致的。当targetSdkVersion设置为36(对应Android 16)时,系统会强制应用使用新的导航栏样式,其中默认背景色为黑色。

解决方案:

  1. 临时方案:将targetSdkVersion降级到35(Android 15),但这只是权宜之计。

  2. 正确方案:在pages.json中配置导航栏样式:

{
  "globalStyle": {
    "app-plus": {
      "navigationBar": {
        "backgroundColor": "#ffffff",
        "backgroundTextStyle": "dark"
      }
    }
  }
}
  1. 代码动态设置:使用以下代码替代你原来的代码:
// #ifdef APP-PLUS
const currentWebview = this.$scope.$getAppWebview();
currentWebview.setStyle({
  navigationbar: {
    background: '#ffffff'
  }
});
// #endif
回到顶部