微信小程序 - 暗黑模式(深色模式)

2023-11-08

最近暗黑模式成为了潮流,微信小程序也推出了暗黑模式适配,下面来记录一个下适配暗黑模式。

效果图:

  

一、实现

1、开启暗黑模式

在 app.json 中配置 "darkmode": true

// app.json
{
    ...
    "darkmode": true
}

2、配置主题文件

在根目录新建主题配置文件 theme.json, 并在 app.json 中配置路径引入

// app.json
{
    ...
    "themeLocation": "theme.json"
}

theme.json配置文件一共分为两个属性,light 和 dark,分别正常模式和暗黑模式。

theme.json 示例如下(仅供参考):

// theme.json
{
  "light": {
    "navBackgroundColor": "#ffffff",
    "navTextStyle": "black"
  },
  "dark": {
    "navBackgroundColor": "#000000",
    "navTextStyle": "white"
  }
}

必须存在 light 和 dark 两个属性,里层命名自定义,没有严格要求。

 

3、在app.json中应用配置属性

在配置属性以 @开头拼接theme.json中自定义的名字写入配置,示例如下

// app.json
{
  ...
  "window": {
    "navigationBarBackgroundColor": "@navBackgroundColor",
    "navigationBarTitleText": "小书包大梦想",
    "navigationBarTextStyle": "@navTextStyle"
  },
  "darkmode": true,
  "themeLocation": "theme.json"
}

配置完些,接着手机开启暗黑模式(深色模式)后,小程序会根据你配置的颜色进行转换。

 

4、wxss样式适配暗黑模式

wxss中,支持通过媒体查询 prefers-color-scheme 适配不同主题。

如下样式会在正常模式下页面背景为灰白色,暗黑模式下为黑色。

/* 正常模式下应用的样式 */
page{
    background: #f1f1f1;
}


/* 暗黑模式下应用的样式 */
@media (prefers-color-scheme: dark) {
  page{
    background: #000000;
  }
}

 

 

 

 

 

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序 - 暗黑模式(深色模式) 的相关文章

  • vue2中Cascader 级联选择器限制选择个数和回显问题

    文章目录 1 组件默认数据绑定 2 指定数据绑定 3 watch监听v model绑定的数组 控制选中个数 4 前后端数据转换 实现回显 1 接口初始数据回显 2 重新选择级联选择器后 如何将选择的数据转换成后端需要的数据 3 最后提交数据
  • uni.ownloadFile下载下来的文件没有后缀名

    let filepathss plus io convertLocalFileSystemURL data tempFilePath plus io resolveLocalFileSystemURL filepathss function
  • python画彩虹和小熊

    前言 今天 我们来画两个简单的图形 一 彩虹 彩虹 又称天弓 客家话 天虹 绛等 简称为 虹 是气象中的一种光学现象 当太阳光照射到半空中的水滴时 光线被折射及反射 在天空上形成拱形的七彩光谱 雨后常见 形状弯曲 通常为半圆状 色彩艳丽 东
  • Fiddler工具 — 9.命令行和状态栏

    1 命令行 命令行在Fiddler的左下方的黑色窗口 也叫 QuickExec 可以调用 Fiddler的内置命令 这一系列内置的函数用于筛选和操作会话列表中的session 会话 虽然它不是很显眼 但用好它 会让你的工作效率提高 N 倍
  • 【网络安全】web漏洞-xml外部实体注入(XXE)

    web漏洞 xml外部实体注入 XXE 目录 web漏洞 xml外部实体注入 XXE 概念 危害 检测方法 利用方法 漏洞利用 xxe lab 有回显情况 无回显情况 pikachu靶场
  • CMAKE_MAKE_PROGRAM is not set 解读

    目录 CMAKE MAKE PROGRAM 未设置 错误原因 解决方案 示例1 GNU Make 示例2 Ninja CMakeLists txt 的结构 示例 CMakeLists txt 文件 总结 CMAKE MAKE PROGRAM
  • CTF之逆向入门

    逆向工程 Reverse Engineering 又称反向工程 是一种技术过程 即对一项目标产品进行逆向分析及研究 从而演绎并得出该产品的处理流程 组织结构 功能性能规格等设计要素 以制作出功能相近 但又不完全一样的产品 逆向工程源于商业及
  • ECMAScript简介及特性介绍

    ECMAScript 简称ES 是JavaScript的规范 同时也是被广泛采用和实现的脚本语言标准 从最初的1996年推出第一版至今 ECMAScript已经经历了数十年的发展和改进 成为了互联网开发中的重要基石之一 本文将对ECMASc
  • 如何给 unplugin-vue-components/vite 写一个简单的 resolver

    大部分工作 unplugin vue components 都已经处理好了 我们只需要接收组件名来判断是否是自己的组件 然后处理对应的导入逻辑 一共 3 个字段 as 重命名类似 import componentNameReName fro
  • 38条Web测试经验分享

    1 页面链接检查 每一个链接是否都有对应的页面 并且页面之间切换正确 可以使用一些工具 如LinkBotPro File AIDCS HTML Link Validater Xenu等工具 LinkBotPro不支持中文 中文字符显示为乱码
  • WEB前端常见受攻击方式及解决办法总结

    一个网址建立后 如果不注意安全问题 就很容易被人攻击 下面讨论一下集中漏洞情况和放置攻击的方法 一 SQL注入 所谓的SQL注入 就是通过把SQL命令插入到web表单提交或输入域名或页面请求的查询字符串 最终达到欺骗服务器执行恶意的SQL命
  • 前端基础:回顾es6相关知识

    Author note 题记 ECMAscript is international standard of javascript ECMA 是 js的国际标准版语言 let and const 为什么之前用var现在需要用let cons
  • 「网络安全渗透」如果你还不懂CSRF?这一篇让你彻底掌握

    1 什么是 CSRF 面试的时候的著名问题 谈一谈你对 CSRF 与 SSRF 区别的看法 这个问题 如果我们用非常通俗的语言讲的话 CSRF 更像是钓鱼的举动 是用户攻击用户的 而对于 SSRF 来说 是由服务器发出请求 用户 日 服务器
  • Vue3 和Vue2的区别,以及钩子函数的使用

    Vue js 3 和 Vue js 2 是两个主要版本的流行前端框架 它们之间有很多区别 包括性能优化 新特性和改进的API等 以下是一些Vue 3与Vue 2之间的主要区别 以及一些示例代码来说明这些差异 1 性能优化 响应式系统 Vue
  • 低代码配置-组件列表设计

    过滤字段功能 配置了api 启用 输出配置 filter type Array default gt
  • 计算机Java项目|尤文图斯足球俱乐部网上商城系统

    作者简介 Java领域优质创作者 CSDN博客专家 CSDN内容合伙人 掘金特邀作者 阿里云博客专家 51CTO特邀作者 多年架构师设计经验 腾讯课堂常驻讲师 主要内容 Java项目 Python项目 前端项目 人工智能与大数据 简历模板
  • Vue中下载不同文件常用的方式

    1 使用window open方法下载文件
  • 深入解析 YAML 配置文件:从语法到最佳实践

    一 认识YAML YAML YAML Ain t Markup Language 是一种人类可读的数据序列化语言 它的设计目标是使数据在不同编程语言之间交换和共享变得简单 YAML采用了一种简洁 直观的语法 以易于阅读和编写的方式表示数据结
  • 如何在 Python 脚本中使用 Google OAuth2

    在使用 Python 脚本将视频上传到 YouTube 频道时 若希望将视频上传到第二个频道 需要解决 OAuth2 授权的问题 解决方案 创建新的 Google Cloud 项目 from google oauth2 import ser
  • 如何在 Python 脚本中使用 Google OAuth2

    在使用 Python 脚本将视频上传到 YouTube 频道时 若希望将视频上传到第二个频道 需要解决 OAuth2 授权的问题 解决方案 创建新的 Google Cloud 项目 from google oauth2 import ser

随机推荐

  • TOWARDS A UNIFIED VIEW OF PARAMETER-EFFICIENT TRANSFER LEARNING

    本文也是属于LLM系列的文章 针对 TOWARDS A UNIFIED VIEW OF PARAMETER EFFICIENT TRANSFER LEARNING 的翻译 关于参数有效迁移学习的统一观点 摘要 1 引言 2 前言 2 1 T
  • xxx.app已损坏,打不开。 您应该将它移到废纸篓。

    Mac最新的系统打开网上下载的应用程序时 会提示 xxx app已损坏 打不开 您应该将它移到废纸篓 解决方式 1 系统偏好设置 gt 安全性与隐私 gt 修改为任何来源 2 serria里面没有 任何来源 这一项 需要打开终端执行sudo
  • 【数据结构】 二叉树面试题讲解->贰

    文章目录 引言 二叉树遍历 https www nowcoder com practice 4b91205483694f449f94c179883c1fef tpId 60 tqId 29483 rp 1 ru activity oj qr
  • 关于链表的三个常用算法

    找到环的第一个入口点 static public SinglyLinkedListNode
  • (s2-048)Struts2 反序列化漏洞

    Struts2 Struts2是一个基于MVC设计模式 java 的Web应用框架 它本质上相当于一个servlet 在MVC设计模式中 Struts2作为控制器 Controller 来建立模型与视图的数据交互 Struts2 是 Apa
  • 【故障处理】java程序cpu飙高如何排查

    使用传统jstack手法来排查 如何使用原生top命令 jstack命令来做定位具体代码的位置处理 简单步骤有下面几步 执行top命令 查看CPU占用情况 找到进程的pid 12002 使用 top Hp
  • Win10增加右键以管理员方式打开cmd,可自定义右键文本图标。

    先上设置后效果 设置步骤 1 打开注册表找到表项 按 win r 输入 regedit 打开注册表 找到注册表项 HKEY CLASSES ROOT Directory Background shell 2 在shell上新建项 右键 sh
  • word显示修改痕迹

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 打开待修改的word 2 设置修订 审阅 修订 修订 3 显示修改痕迹 添加修改内容
  • Fisco Bcos学习(环境搭建)

    服务器搭建联盟链过程 一 docker方式部署单群组4节点区块链 1 安装依赖 1 安装curl openssl yum install y curl openssl openssl devel 2 下载安装脚本 curl LO https
  • 完美解决 vcpkg 下载速度慢

    vcpkg 下载慢非常令人头痛 下面是一位 github 用户的抱怨 非常真实 The download and compilation time of vcpkg is relatively long So during this wai
  • 人才画像--持续更新

    人力资源管理包括人力资源规划 招聘与配置 培训与开发 绩效管理 薪酬管理及员工关系 六大模块 六大模块之间相辅相成 相互联系 对解决企业人才的 留 选 育 用 问题具有极为关键的作用 大数据时代的到来 为其注入了新能量 有人认为 大数据将成
  • 【面试题】2、Docker和Spring相关

    1 Docker是什么 1 Docker是一个快速交互 运行应用的技术 可以将程序及其依赖 运行环境一起打包为一个镜像 该镜像可以迁移到任意的Linux操作系统 2 运行时利用沙箱机制形成隔离容器 各个应用之间互不干扰 3 移动和移除程序都
  • Oracle的三种高可用集群方案

    转载自 http www cnblogs com baiboy p orc2 html label1 Oracle的三种高可用集群方案 1 RAC Real Application Clusters 多个Oracle服务器组成一个共享的Ca
  • matlab 奇异值分解

    1 奇异值分解 关于matlab中的diag函数 矩阵对角元素的提取和创建对角阵
  • CPT104 习题笔记

    调度算法 时间 突发时间 Burst time 通常 我们忽略I O时间 只考虑进程的CPU时间 因此 突发时间是进程在CPU上执行所花费的总时间 Arrival Time 到达时间是流程进入就绪状态并为其执行做好准备的时间 Exit ti
  • Spring属性占位符PropertyPlaceholderConfigurer的使用

    Spring属性占位符PropertyPlaceholderConfigurer的使用 1 一个简单的Demo 1 1 创建conf xml
  • git clone remote: HTTP Basic: Access denied问题解决

    今天用git下载项目 突然提示 查阅资料才发现是因为最近更改gitlab密码的缘故 进入控制面板如下目录 修改对应的git普通凭据 问题解决
  • 华为这么容易进吗?轻轻松松拿到25K的offer...

    美本计算机专业 代码能力一般 之前有过两段实习以及一个学校项目经历 本人面试的是测试开发岗 期间经历了笔试 gt 性格测试 gt 技术一面 gt 技术二面 gt 总监面 gt OC这几个环节 基本上每周完成一个环节 由于华为面试环节全部完成
  • 实战分享:I2C总线详解

    大家好 我是阿荣 感恩遇见 本文部分图文来源于网络 并经过整合 编辑和勘误 实战分享栏目将重点介绍嵌入式的基础知识 并融合一些实战经验 持续勘误和迭代 建议关注和收藏 WX同名 I2C总线是一种常用的通信接口 让我们先来看看百度百科对它的定
  • 微信小程序 - 暗黑模式(深色模式)

    最近暗黑模式成为了潮流 微信小程序也推出了暗黑模式适配 下面来记录一个下适配暗黑模式 效果图 一 实现 1 开启暗黑模式 在 app json 中配置 darkmode true app json darkmode true 2 配置主题文