收藏
回答

小程序深色模式,在安卓机上显示异常,该怎么处理?

背景:

小程序要跟随系统,展示深色模式和浅色模式。

实现方案如下

  1. 通过getAppBaseInfo 获取到应用当前的theme
  2. 改变全局变量,以控制UI变化
  3. 纯UI部分,通过css的方式切换(@media (prefers-color-scheme: dark) {})

操作路径

路径1:

  1. 在浅色模式下,打开小程序
  2. 右上角圆圈退出小程序
  3. 在微信中设置为深色主题
  4. 打开小程序

路径2:

  1. 在浅色模式下,打开小程序
  2. 右上角圆圈退出小程序
  3. 在系统设置中设置系统为深色主题
  4. 打开微信,打开小程序

表现:

ios系统,两种路径都能够正常监听到主题变化,展示如预期。

安卓系统小程序,通过路径1,即改变微信主题的方式,能够正常变化;但是通过路径2,主题切换后打开小程序,监听到的主题theme仍然为light;若再次打开小程序,则小程序表现正常。

开发使用了Taro+react。


回答关注问题邀请回答
收藏

3 个回答

登录 后发表内容