Johnny_new
Johnny_new
  • 发布:2025-12-22 18:19
  • 更新:2026-02-06 16:11
  • 阅读:275

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

分类:uni-app

下图 是自定义基座
当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

2025-12-22 18:19 负责人:DCloud_Android_ST 分享
已邀请:
Johnny_new

Johnny_new (作者) - 123456

新增AndroidManifest.xml 后重新制作自定义,依然无法解决Android 16 手机打开App底部安全区域是黑色

  • DCloud_UNI_LXH

    通过 manifest 设置底部安全区试试看

    2026-02-06 18:36

  • Johnny_new (作者)

    回复 DCloud_UNI_LXH: 感谢您的回复,但是没有用。

    设置了以下代码底部还是黑色。

    而且通过代码也无法变更颜色


    "app-plus": {

    "safearea": {

    "background": "#ffffff",

    "bottom": {

    "offset": "auto"

    }

    }

    }

    2026-02-06 20:16

DCloud_UNI_yuhe

DCloud_UNI_yuhe

hello , 是否可以提供一下可以复现的项目吗?

  • Johnny_new (作者)

    附件是我新创建的项目源码

    "targetSdkVersion" 分别指定了35、36

    35完全没有问题

    36底部就是黑色的


    本人手机

    oppo find X8

    安卓16

    系统:COlorOS 16.0.3


    因为apk附件太大下载地址如下:

    https://pan.baidu.com/s/1mmxuNwfBMSeFK-uFtK85KA?pwd=d456

    提取码: d456


    附件在楼下回复

    2026-02-06 16:07

Johnny_new

Johnny_new (作者) - 123456

这个是附件

Ask小助手

Ask小助手

该问题请在专业群( uni-app 官方技术交流群 1 ) 咨询

这个问题是由于Android targetSdkVersion升级到36后系统UI行为变化导致的。从Android 12(API 31)开始,系统对深色模式和窗口布局有新的处理逻辑,当targetSdkVersion设为36时,系统默认启用了新的深色主题策略,导致底部安全区域背景变为黑色。

解决方案:

  1. 在manifest.json的"app-plus"节点中添加安全区域配置,明确指定底部背景色:

    "app-plus": {  
    "safearea": {  
    "background": "#ffffff",  
    "bottom": {  
      "offset": "auto"  
    }  
    }  
    }
  2. 确保使用最新版HBuilderX(4.85+),因为新版本已优化对高版本Android SDK的适配

  3. 如果仍无效,需在自定义基座中添加原生代码适配。参考Android原生应用清单文件文档,在AndroidManifest.xml中添加:

    <application  
    android:forceDarkAllowed="false"  
    ... >

注意:自定义基座不会随HBuilderX升级自动更新,每次升级后需重新制作自定义基座。当前问题属于Android平台特有现象,与鸿蒙平台无关。

内容为 AI 生成,仅供参考

要回复问题请先登录注册