雨夜敬清秋
雨夜敬清秋
  • 发布:2021-01-08 17:36
  • 更新:2021-11-19 17:07
  • 阅读:1027

【报Bug】从3.x开始,安卓切换到nvue页面会出现窗口背景色1秒后才渲染内容

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 10.15.7

HBuilderX类型: 正式

HBuilderX版本号: 3.0.4

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: all

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

请看bug描述

预期结果:

与 vue 渲染一致

实际结果:

闪屏的错觉

bug描述:

安卓机型,NavigateTo 到 vue 页面正常,但是到 nvue 页面,会先显示 globalStyle 中设置的 backgroundColor 再渲染内容,体验很差

2021-01-08 17:36 负责人:DCloud_UNI_GSQ 分享
已邀请:
Kytrun

Kytrun

楼主有解决思路吗,这个问题太坑了

  • 雨夜敬清秋 (作者)

    没有,这个是硬伤,需要 uniapp 框架来调整,实际上,ios 也存在这个问题,只不过 ios 界面之间的切换比 android 更顺滑,不那么容易看出来而已,目前我的 app 只是开启了 ios 的深色模式,android 的深色模式只在测试版中开启方便测试人员对深色模式的UI进行测试,正式版中是关闭深色模式切换的。

    2021-05-10 11:38

雨夜敬清秋

雨夜敬清秋 (作者)

2.9.8没有这个情况,应该就是从3.0开始的

雨夜敬清秋

雨夜敬清秋 (作者)

仔细对比发现,并不是3.0开始的,实际上2.9.8也有,只是不那么明显而已

DCloud_Android_ST

DCloud_Android_ST

看视频 应该不至于一秒钟。示例发出来看下

  • Kytrun

    https://gitee.com/kytrun/bgswitch-demo 没有一秒钟,但是 page-meta 设置了也没有用,pages.json 中全局改成黑色背景就不会闪

    2021-05-10 11:52

  • 雨夜敬清秋 (作者)

    这个问题我觉得其实不用给示例的,因为问题的根源很显然就是 backgroundColor 造成的,当应用要切换成深色模式的情况下,backgroundColor 不能更改,它始终还是亮色模式下的那个值,只要实现 uni.setBackgroundColor 这个 api 对 app 平台的支持,这个问题就可以解决了

    2021-05-10 12:06

  • 雨夜敬清秋 (作者)

    回复 Kytrun: 关于深色模式的问题,我有个帖子大致汇总了,https://ask.dcloud.net.cn/question/114965,你可以看看

    2021-05-10 12:12

  • 雨夜敬清秋 (作者)

    回复 Kytrun: 你这个demo没有一秒钟,是因为nvue这个页面很简单,如果这个nvue页面是那种列表页面,而且每条数据中有有图片要展示,这种复杂的页面,是要超过1秒的

    2021-05-10 12:18

  • Kytrun

    回复 雨夜敬清秋: 我已经全网调研了,确实是这样的,官方没有提供动态修改背景颜色的api,page-meta 中有但是我试了不生效。我已经想到了一个极端的方式,那就是搞一个 wtg 热更新包,但是完全走偏了。

    2021-05-10 12:33

  • 雨夜敬清秋 (作者)

    回复 Kytrun: 总之,ios 可以上深色模式,android 的话就缓缓吧,看看官方会不会优化。

    2021-05-10 13:40

  • DCloud_Android_ST

    回复 雨夜敬清秋: 可以配置单个页面的backgroundColor

    2021-05-10 14:09

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 单个页面的backgroundColor会覆盖掉全局的backgroundColor,不管你怎么设置backgroundColor,始终都是无法在切换深色模式时修改的

    2021-05-10 14:49

  • DCloud_Android_ST

    回复 雨夜敬清秋: 你的需求是动态修改应用背景色 还是修改页面的背景色

    2021-05-10 14:55

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 动态修改 globalStyle 中的 backgroundColor 下拉显示出来的窗口的背景色

    2021-05-10 15:02

  • DCloud_Android_ST

    回复 雨夜敬清秋: 好的 需求反馈了

    2021-05-10 15:12

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 好的,感谢

    2021-05-10 15:17

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 最新版本的hbx,android 端 vue 页面设置的 backgroundColor 无法生效,全局和单个页面都无法生效

    2021-05-10 15:39

  • DCloud_Android_ST

    回复 雨夜敬清秋: 3.1.12吗

    2021-05-10 15:55

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 3.1.14 alpha

    2021-05-10 15:57

  • 雨夜敬清秋 (作者)

    回复 DCloud_Android_ST: 大佬,是否确认?

    2021-05-11 08:57

  • cc_dalao

    回复 DCloud_Android_ST: 动态改变窗口颜色,什么时候支持啊

    2022-01-22 19:44

  • 7***@qq.com

    都快2023年了 还没解决啊 我的天,暗黑模式,切换页面先显示pages里面配置的颜色,但是pages里面又不能动态配置,

    2022-10-02 14:35

  • 7***@qq.com

    最蛋疼的是,nvue切换页面会闪一下,我想应该跟pages配置的颜色有关系。nuve不能第一时间渲染,先渲染pages里面的背景色,然后再渲染页面颜色和类容

    2022-10-02 14:37

Ramsey

Ramsey

请问这个问题解决了吗 非常影响体验效果

  • Kytrun

    https://github.com/explaincloud/explain-mall-pro/blob/main/emui/common/util/common/navigate.js#L102

    2021-11-24 11:43

  • Kytrun

    https://ext.dcloud.net.cn/plugin?id=6668

    2021-11-24 11:43

该问题目前已经被锁定, 无法添加新回复