什么的角| 仕字五行属什么| 手蜕皮什么原因| 宝宝反复发烧是什么原因引起的| 满月脸是什么意思| 爱做梦是什么原因应该怎样调理| 曲克芦丁片治什么病| 腰肌劳损挂什么科| 胃疼能吃什么水果| 什么刺骨| 直系亲属为什么不能输血| 土色是什么颜色的图片| 经常上火口腔溃疡是什么原因| 颈椎不舒服挂什么科| cco是什么意思| 1月26是什么星座| 看情况是什么意思| 北瓜是什么| 鲫鱼吃什么| 口干口苦吃什么药好| 投影是什么意思| 轻度脂肪肝什么意思| 火山飘雪是什么菜| lee是什么档次| 榴莲苦是什么原因| 铮字五行属什么| 16岁是什么年华| 渗透压是什么| 尿道感染应该吃什么药| 肝叶钙化灶是什么意思| 宝宝贫血有什么危害| 脸上痒是什么原因| 手掌心发热是什么原因| 膝关节退行性改变是什么意思| 什么是冠心病| 身体素质是什么意思| 伤心的反义词是什么| 远香近臭是什么意思| 喜鹊吃什么食物| 无济于事的济是什么意思| 久视伤血是什么意思| 黄疸是什么| 梅毒是什么症状| 贫血缺什么元素| bug是什么意思中文翻译| 腻歪什么意思| 加拿大现在什么季节| 黄芪喝多了有什么副作用| 不什么不什么的成语| 什么啤酒好喝| 月经前腰疼的厉害是什么原因| 什么是有机磷农药| 什么车可以闯红灯| 出家人不打诳语是什么意思| 为什么屁股上会长痘| 什么的口罩| 思春是什么意思啊| 冷藏和冷冻有什么区别| 1942年是什么年| 干什么呢| 81是什么意思| 手指指尖发麻是什么原因| 国防部部长是什么级别| 在什么前面用英语怎么说| 剑锋金命五行缺什么| 开是什么意思| 荷花什么时候开| 4月25号是什么星座| 7月1号什么星座| 产后屁多是什么原因| 水中毒是什么| cvm是什么意思| 经期不能吃什么水果| 结甲可能是什么意思| 6.25是什么日子| 四月二十一是什么星座| 什么是一体机| 捡肥皂是什么意思| 鱼泡是鱼的什么器官| 优对什么| 妙三多预防什么| 内敛什么意思| 灵芝什么人不能吃| 曼月乐是什么| 大肠在人体什么位置图| 黑米和什么一起搭配煮粥最佳| 上面一个日下面一个立是什么字| 尿酸高肌酐高是什么原因呢| 夏至是什么意思| 不下面一个一念什么| 两个百字念什么| 蚕豆有什么营养| 什么是支原体感染| 喝酒吃头孢有什么反应| 多发息肉是什么意思| pa是什么元素| 磨牙缺什么| 家是什么结构的字| 今年71岁属什么生肖| 女人左手掌有痣代表什么| 刘亦菲是什么国籍| 甲肝抗体阳性代表什么| 苏州立夏吃什么| 子代表什么意思| 福禄寿是什么意思| 什么的小莲蓬| 三头六臂开过什么生肖| 空针是什么| 烧包是什么意思| 胃胀气适合吃什么食物| 昊是什么意思| 中水是什么水| 单亲妈妈是什么意思| 都市丽人什么意思| 百香果什么味道| 彩蛋是什么意思| 官杀是什么| 5月9号是什么星座| 胃酸胃胀吃什么药| 盐水泡脚有什么好处| 乌龟吃什么东西| 顽固性失眠吃什么药| 木驴是什么| 什么是绿色食品| 多多益善的益是什么意思| 夏天脚出汗是什么原因| 火代表什么数字| tj是什么意思| 总蛋白高是什么原因| 为什么分泌物是褐色的| 金可以组什么词| 天蝎座和什么座最配| 黄花菜不能和什么一起吃| 谷氨酰基转移酶低是什么原因| 胃炎胃溃疡吃什么药| 半月板是什么| 今年什么时候暑伏| 处子之身是什么意思| 阴道感染用什么药| 09年属什么| 昆明有什么好玩的| 属狗男和什么属相最配| 果五行属什么| 脖子上长痘痘什么原因| 1221是什么星座| spect是什么检查| 总经理是什么级别| 人生得意须尽欢什么意思| 生肉是什么意思| 2024属什么生肖| 功能性消化不良是什么意思| 花胶是什么东西| 一座什么| 炖羊骨头放什么调料| 心脏什么情况下需要支架| 什么是液化| OD是什么| 贫血做什么检查能查出来| 什么药溶血栓最好| 尿酸低有什么危害| 手麻挂什么科最好| 什么品牌的母婴用品好| 电销是什么工作| 胰腺不舒服是什么症状| 土霉素喂鸡有什么作用| 眼霜有什么作用和功效| 1989年什么生肖| 什么叫hp感染| 什么是飘窗| 毛骨悚然是什么意思| 检查妇科清洁度三是什么意思| 桑葚是什么季节的| 红枣和枸杞一起泡水喝有什么作用| 不着相是什么意思| 交警大队长是什么级别| vcr是什么| 快速补血吃什么| 吃生蚝有什么好处| 腊八有什么讲究| 茶叶杀青是什么意思| 蜂蜜吃有什么好处| 核载是什么意思| 生理期吃什么水果| 婴儿反复发烧是什么原因| 半夏微凉是什么意思| 上头是什么意思| 葛根粉吃了有什么作用| 拔罐颜色深浅代表什么| 指甲变黑是什么原因| 嘴苦是什么原因| 蛇缠腰是什么病| 代谢不好是什么原因| 为什么膝盖弯曲就疼痛| 梅杰综合症是什么病| 急性肠胃炎吃什么食物| 婴儿什么时候开始说话| 7月30号什么星座| perry是什么意思| 什么东西掉进水里不会湿| 鲁班是什么家| 女性绝经期在什么年龄是正常的| 盗墓笔记讲了什么| 汗疱疹是什么原因引起| 大便羊屎粒是什么原因| 喝红酒对身体有什么好处| 兰州人为什么要戴头巾| 血糖高适合吃什么零食| 字号是什么意思| 牙龈和牙齿分离是什么原因| 吃什么能升血小板| 护士一般是什么学历| 满江红是什么植物| 什么时候称体重最准确| 屁股疼痛是什么原因引起的| 液化气是什么| 葡萄补什么| 朱雀玄武是什么意思| 肝衰竭是什么原因引起的| 撩 是什么意思| 6月21号什么星座| 白肉是什么肉| 8.11是什么星座| 什么枝什么叶| 人体七大营养素是什么| 身体起水泡是什么病症| 焦虑症吃什么药最好| 葡萄糖偏低是什么意思| 木石念什么| 胚由什么组成| 茱萸是什么植物| 蒲公英泡水喝有什么效果| cps是什么| 泥鳅喜欢吃什么| 少田宅痣是什么意思| 狗感冒了吃什么药| 肺心病是什么病| 政治家是什么意思| 尿中红细胞高是什么原因| 牙周康又叫什么名字| 草字头加青读什么| 肾功能不好吃什么药调理| 12月15日什么星座| 松石绿是什么颜色| 口腔溃疡吃什么药好| 智商120是什么水平| 急躁是什么意思| 俄罗斯被称为什么| 梦见做棺材是什么意思| 什么名字好听| 年终奖是什么意思| 金蝉是什么| 宛如是什么意思| 海马萎缩是什么情况| 指日可待什么意思| 鹅吃什么| 积滞是什么意思| 珠胎暗结是什么意思| 狗狗睡姿代表什么图解| loho眼镜属于什么档次| 永加一个日念什么| 藏红花可以搭配什么泡水喝| 脂肪有什么作用| 肚子疼是为什么| 两小儿辩日告诉我们什么道理| 百度

Ballistix铂胜内存:三大系列满足玩家一切需求

百度 2007年至今已连续7年代表学院到东方网“嘉宾聊天室”谈高复。

微信从iOS客户端 7.0.12、Android客户端 7.0.13 开始正式支持 DarkMode,小程序也从基础库 v2.11.0、开发者工具 1.03.2004271 开始,为开发者提供小程序内的 DarkMode 适配能力。

# 开启 DarkMode

app.json中配置darkmodetrue,即表示当前小程序已适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar 和 tab bar 也会根据下面的配置自动切换。

# 相关配置

app.json中配置darkmodetrue时,小程序部分配置项可通过变量的形式配置,在变量配置文件中定义不同主题下的颜色或图标,方法如下:

  1. app.json中配置themeLocation,指定变量配置文件theme.json路径,例如:在根目录下新增theme.json,需要配置"themeLocation":"theme.json"
  2. theme.json中定义相关变量;
  3. app.json中以@开头引用变量。

支持通过变量配置的属性:

  • 全局配置的 window 属性与页面配置下的属性
    • navigationBarBackgroundColor
    • navigationBarTextStyle
    • backgroundColor
    • backgroundTextStyle
    • backgroundColorTop
    • backgroundColorBottom
  • 全局配置 window.tabBar 的属性
    • color
    • selectedColor
    • backgroundColor
    • borderStyle
    • list
      • iconPath
      • selectedIconPath

# 变量配置文件 theme.json

theme.json用于颜色主题相关的变量定义,需要先在themeLocation中配置theme.json的路径,否则无法读取变量配置。

配置文件须包含以下属性:

属性 类型 必填 描述
light object 浅色模式下的变量定义
dark object 深色模式下的变量定义

lightdark下均可以key: value的方式定义变量名和值,例如:

{
  "light": {
    "navBgColor": "#f6f6f6",
    "navTxtStyle": "black"
  },
  "dark": {
    "navBgColor": "#191919",
    "navTxtStyle": "white"
  }
}

完成定义后,可在全局配置或页面配置的相关属性中以@开头引用,例如:

// 全局配置
{
  "window": {
    "navigationBarBackgroundColor": "@navBgColor",
    "navigationBarTextStyle": "@navTxtStyle"
  }
}
// 页面配置
{
  "navigationBarBackgroundColor": "@navBgColor",
  "navigationBarTextStyle": "@navTxtStyle"
}

配置完成后,小程序框架会自动根据系统主题,为小程序展示对应主题下的颜色。

# 配置示例

app.json(示例省略了主题相关以外的配置项)

{
    "window": {
        "navigationBarBackgroundColor": "@navBgColor",
        "navigationBarTextStyle": "@navTxtStyle",
        "backgroundColor": "@bgColor",
        "backgroundTextStyle": "@bgTxtStyle",
        "backgroundColorTop": "@bgColorTop",
        "backgroundColorBottom": "@bgColorBottom"
    },
    "tabBar": {
        "color": "@tabFontColor",
        "selectedColor": "@tabSelectedColor",
        "backgroundColor": "@tabBgColor",
        "borderStyle": "@tabBorderStyle",
        "list": [{
            "iconPath": "@iconPath1",
            "selectedIconPath": "@selectedIconPath1"
        }, {
            "iconPath": "@iconPath2",
            "selectedIconPath": "@selectedIconPath2"
        }]
    }
}

theme.json

{
    "light": {
        "navBgColor": "#f6f6f6",
        "navTxtStyle": "black",
        "bgColor": "#ffffff",
        "bgTxtStyle": "light",
        "bgColorTop": "#eeeeee",
        "bgColorBottom": "#efefef",
        "tabFontColor": "#000000",
        "tabSelectedColor": "#3cc51f",
        "tabBgColor": "#ffffff",
        "tabBorderStyle": "black",
        "iconPath1": "image/icon1_light.png",
        "selectedIconPath1": "image/selected_icon1_light.png",
        "iconPath2": "image/icon2_light.png",
        "selectedIconPath2": "image/selected_icon2_light.png",
    },
    "dark": {
        "navBgColor": "#191919",
        "navTxtStyle": "white",
        "bgColor": "#1f1f1f",
        "bgTxtStyle": "dark",
        "bgColorTop": "#191919",
        "bgColorBottom": "#1f1f1f",
        "tabFontColor": "#ffffff",
        "tabSelectedColor": "#51a937",
        "tabBgColor": "#191919",
        "tabBorderStyle": "white",
        "iconPath1": "image/icon1_dark.png",
        "selectedIconPath1": "image/selected_icon1_dark.png",
        "iconPath2": "image/icon2_dark.png",
        "selectedIconPath2": "image/selected_icon2_dark.png",
    }
}

# 获取当前系统主题

如果app.json中声明了"darkmode": truewx.getSystemInfowx.getSystemInfoSync的返回结果中会包含theme属性,值为lightdark

如果app.json未声明"darkmode": true,则无法获取到theme属性(即themeundefined)。

# 监听主题切换事件

支持2种方式:

  1. App()中传入onThemeChange回调方法,主题切换时会触发此回调
  2. 通过wx.onThemeChange监听主题变化,wx.offThemeChange取消监听

# WXSS 适配

WXSS中,支持通过媒体查询 prefers-color-scheme 适配不同主题,与 Web 中适配方式一致,例如:


/* 一般情况下的样式 begin */
.some-background {
    background: white;
}
.some-text {
    color: black;
}
/* 一般情况下的样式 end */

@media (prefers-color-scheme: dark) {
    /* DarkMode 下的样式 start */
    .some-background {
        background: #1b1b1b;
    }
    .some-text {
        color: #ffffff;
    }
    /* DarkMode 下的样式 end */
}

# 开发者工具调试

微信开发者工具 1.03.2004271 版本开始已支持 DarkMode 调试,在模拟器顶部可以切换 深色/浅色 模式进行,如图:

darkmode_devtool

# Bug & Tip

  1. tip: 需要注意的是,WXSS 中的媒体查询不受app.json中的darkmode开关配置影响,只要微信客户端(iOS 7.0.12、Android 7.0.13)支持 DarkMode,无论是否配置"darkmode": true,在系统切换到 DarkMode 时,媒体查询都将生效。
  2. tip: 主题切换事件需要在配置"darkmode": true时,才会触发。
  3. bug: iOS 7.0.12 在 light 模式中配置 tabBar 的borderStylewhite时可能会出现黑色背景的 bug,后续版本将会修复。
比目鱼又叫什么鱼 fancl是什么品牌 mon什么意思 夏天流鼻血是什么原因 皮肤发白一块一块的是什么病
八大碗都有什么菜 气促是什么意思 下焦湿热是什么意思 医学ac是什么意思 做活检意味着什么
loves是什么意思 淮山是什么 枫叶是什么树 肺结节钙化是什么意思 绮罗是什么意思
三七粉是治什么病的 受凉了吃什么药 血脂高吃什么食物好 便秘去药店买什么药吃 白斑用什么药膏
乙肝有抗体是显示什么结果gysmod.com 女生右手食指戴戒指什么意思chuanglingweilai.com wing是什么意思hcv9jop4ns2r.cn 你从什么时候不再爱我cj623037.com 维生素b补什么的hcv9jop0ns8r.cn
93年什么命hcv7jop5ns0r.cn 扭转乾坤是什么生肖hcv9jop6ns2r.cn 后脑勺疼痛什么原因引起的hcv9jop0ns6r.cn 双肾尿酸盐结晶是什么意思hcv8jop5ns8r.cn 蜜蜂的尾巴有什么作用hcv7jop7ns4r.cn
海松茸是什么东西huizhijixie.com 早退是什么意思hcv8jop1ns1r.cn 皮肤粗糙缺什么维生素hcv8jop9ns4r.cn 西瓜和什么榨汁好喝hcv7jop7ns2r.cn 还是什么结构的字hcv9jop5ns7r.cn
肛瘘是什么原因造成的imcecn.com 尿道感染是什么原因引起hcv9jop1ns7r.cn 凉白开是什么水hcv8jop7ns7r.cn 排卵试纸两条杠是什么意思gysmod.com 口疮吃什么药hebeidezhi.com
百度