-
Notifications
You must be signed in to change notification settings - Fork 4.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Dark mode support with Taro.js #7281
Comments
目前好像只有微信小程序支持 Dark mode, 它支持在 *.json 配置中引用theme.json 中的变量: // 全局配置
{
"window": {
"navigationBarBackgroundColor": "@navBgColor",
"navigationBarTextStyle": "@navTxtStyle"
}
}
// 页面配置
{
"navigationBarBackgroundColor": "@navBgColor",
"navigationBarTextStyle": "@navTxtStyle"
} 这种实现有些侵入性。对于不支持 dark mode 的平台需要 Taro 来替换回退(比如light)? |
Hi @ivan-94, thanks for your note for incompatibility with other applet/mini program platforms. I have a humble idea, how about user implementing these three files to support WeChat applet dark mode and other mini programs, app.config.ts # generic app config
app.config.weapp.ts # WeChat config only
theme.config.ts # WeChat theme only |
现有的: Taro next 可以在 *.config.js 文件里面使用 process.env.TARO_ENV 区分平台。 Taro 2.x config 是内嵌在 *.jsx 的,可以用 preval 来区分特定平台。 再配合上 copy 就可以实现 DarkMode。 但是感觉就是不怎么优雅 |
@ivan-94,還有一個問題,似乎theme.config.ts不會被copy到dist目錄,每次都要手動複製移動。 |
@zhangkaiyulw 不清楚你引入依赖的代码是怎样的,不过如果你只是做静态输出不打包可以参考taro copy |
@zhangkaiyulw 哦 我前面理解错了。这种情况你直接copy输出就好了 // config/index.js
module.exports = {
// ...
copy: {
patterns: [
{ from: 'src/theme.config.js, to: 'dist/theme.config.js' }, // 指定需要 copy 的目录
]
},
//....
} |
@rottenpen 謝謝,那這個 |
刚提了个 PR 如果合了后面的版本就不需要用 copy 了 |
谢谢,@rottenpen!👍 |
我个人觉得微信提供这个 dark mode 配置更像一个语法糖,只能比较机械化地配置 color。如果想要更细致化地做 dark mode,还是要监听 APP 的 onThemeChange。 |
@rottenpen 这个说法不对,比如我们在小程序里面提供一个功能说可以切换主题,这个时候实际上是无法修改到整体小程序的navigationBar和tabBar的样式的。因为微信的onThemeChange只是监听手机系统的主题是否发生了变化。 那么有其他办法可以实现这个需求吗? |
@Chen-jj 另外,在最新的3.6.13版本里面仍然发现,根目录下新建的theme.json在不管是dev:weapp还是build:weapp的时候并不会被copy到dist目录下。 |
这个特性解决了什么问题?
I haven't found any documentation around support dark mode in WeChat applets.
这个 API 长什么样?
Where can I put the WeChat applet theme.json file, and how can I call "Taro.setBackgroundColor" according to different view themes.
The text was updated successfully, but these errors were encountered: