Johnny_new
Johnny_new
  • 发布:2025-12-22 18:19
  • 更新:2025-12-22 18:19
  • 阅读:16

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 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

该问题请在专业群( 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 生成,仅供参考

要回复问题请先登录注册