用户2860045
用户2860045
  • 发布:37 分钟前
  • 更新:35 分钟前
  • 阅读:13

安卓虚拟按键的颜色修改-启动页

分类:uni-app

onLaunch(async () => {
uni.setStorageSync('VERSION_CHECK', false)
// #ifdef APP-PLUS
//底部导航栏(虚拟按键)背景颜色
if (uni.getSystemInfoSync().platform == 'android') {
var color = plus.android.newObject('android.graphics.Color')
var ac = plus.android.runtimeMainActivity()
var c2int = plus.android.invoke(color, 'parseColor', '#1A1A1A')
var win = plus.android.invoke(ac, 'getWindow')
plus.android.invoke(win, 'setNavigationBarColor', c2int)
}

// #endif
})

上述代码,我成功改掉了安卓虚拟按键的背景色,但是还有一个问题,运行启动页的时候,虚拟按键是白色的,等进入登录页才会正式修改背景色,有啥办法能在启动页加载的时候,就变色么?

37 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

启动页虚拟按键颜色无法及时修改是因为onLaunch执行时机晚于启动页渲染。根据知识库最新信息(App-Android平台新增支持),可通过pages.json直接配置解决:

在pages.json的app-plus.style中添加:

{  
  "app-plus": {  
    "style": {  
      "androidThreeButtonNavigationBackgroundColor": "#1A1A1A",  
      "androidThreeButtonNavigationTranslucent": false  
    }  
  }  
}

关键点说明:

  1. androidThreeButtonNavigationBackgroundColor 是4.51+版本新增配置项(文档参考
  2. 必须同时设置androidThreeButtonNavigationTranslucent: false,否则背景色可能不生效(参考此问题修复
  3. 此配置会作用于整个应用生命周期,包括启动页

注意Android平台对深色背景的限制:黑色需大于rgb(30,30,30),您设置的#1A1A1A符合要求。此方法比运行时动态设置更可靠,避免了启动页与主页面颜色不一致问题。

内容为 AI 生成,仅供参考

要回复问题请先登录注册