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

微信小程序夜间模式,实现更换皮肤,切换白天黑夜模式,简单易懂 先看下效果图吧: 夜晚模式样式: 白天正常样式: 先讲一下具体的思路和实现方法吧,我这个功能是项目已经上线一年后才提出要加上去的,由于页面比较多,重构wxSS太费力了,就选了简单粗暴的方式,直接另外给一套夜间模式的单独样式,吧白天的样式给覆盖掉,用户在点击模式切换的时候,直接设置一个全局变量‘idDark’存入到缓存中,然后在去到每一个页面的时候,在onShow方法里面读取一下当前的’isDark’值,判断当前是否为夜间模式,如果是就显示夜间模式样式,如果不是就正常显示就ok,这里皮肤设置其实修改的全是 阅读详情
AI摘要

本文介绍了微信小程序如何实现暗黑模式适配,包括在app.json中开启暗黑模式,创建并配置theme.json主题文件,应用配置属性,以及在wxss中使用媒体查询进行样式适配。

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

效果图:

  

一、实现

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;
  }
}

 

 

 

 

 

 

 

 

小程序 DarkMode主题适配 (1)开启适配 在app.json中配置darkmode为true,即表示当前小程序已适配 DarkMode,所有基础组件均会根据系统主题展示不同的默认样式,navigation bar和tab bar也会根据下面的配置自动切换。 { "darkmode":true } (2)指定主题下自定义设置 1、在app.json中配置themeLocation,指定变量配置文件theme.json路径 如:在根目录下新增theme.json,需要配置"themeLocation":"them 阅读详情

相关推荐

微信小程序暗黑模式全攻略:从主题变量到手动切换的工程实践

在移动应用开发中,主题系统是提升用户体验和实现界面个性化的核心技术。其原理是通过定义一套颜色、间距等设计变量,并建立变量与组件样式的映射关系,在运行时动态切换变量值来实现整体视觉风格的改变。这项技术的核心价值在于能大幅提升应用的可访问性,特别是在夜间或低光环境下,能有效减少视觉疲劳,同时满足用户的个性化偏好,增强用户粘性。在微信小程序开发场景下,主题系统的实现涉及全局配置、CSS变量、状态管理和组件通信等多个工程环节。本文将聚焦于暗黑模式(深色主题)这一具体需求,深入探讨如何通过 theme.json 定义

weixin_27785375的博客 407

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

项目新增了一个夜间模式的功能,小程序现在也支持这个模式。类似于写2套css,话不多说,直接上效果和代码图: 1.开启暗黑模式 第一步:首先在 app.json 中配置 “darkmode”: true 2、配置主题文件 在根目录新建主题配置文件 theme.json, 并在 app.json 中配置路径引入 代码如图: theme.json配置文件一共分为两个属性,light 和 dark,分别正常模式和暗黑模式。 必须存在 light 和 dark 两个属性,里层命名自定义,没有严格要求。 the

weixin_44204144的博客 6077

微信小程序暗黑模式全攻略:从设计规范到技术实现与避坑指南

暗黑模式(深色模式)已成为现代应用提升用户体验和可访问性的重要设计趋势。其核心原理是通过调整界面色彩方案,降低屏幕在暗光环境下的整体亮度与对比度,从而减少视觉疲劳。从技术价值看,它不仅是视觉优化,更是对WCAG无障碍指南的实践,能显著提升应用的普适性和用户粘性。在移动应用、特别是微信小程序等生态中,适配暗黑模式已成为工程实践的标配,涉及设计体系、动态主题、CSS变量和组件适配等多个技术环节。本文将聚焦于微信小程序平台,深入探讨如何系统化地实现高质量的暗黑模式,涵盖设计规范、theme.json配置、CSS变

weixin_30898555的博客 229

如何在小程序中设置导航栏文字颜色和背景颜色

不同商家有不同的颜色风格,例如有些做设计的公司,主要是黑色风格;他们的小程序,也需要进行同样的风格设定。设置导航栏的文字颜色和背景颜色是小程序界面的重要组成部分,可以提高用户体验并增强品牌意识。2. 点击“导航栏文字颜色”或者“导航栏背景颜色”,在底部会出现颜色选择面板。在上面选择需要设置的颜色,然后点击保存即可。例如“个人中心”,就是导航栏文字,它是白色。文字的背景色,就是导航栏背景颜色,它是红色。1. 在小程序管理员后台->基本设置页面,可以看到导航栏文字颜色和导航栏背景颜色。

weixin_43096382的博客 4354

小程序暗黑模式适配:跟随系统主题切换

本文旨在指导开发者如何在微信小程序中实现暗黑模式适配,特别是如何让小程序自动跟随系统主题切换。我们将覆盖从基础概念到具体实现的全过程。核心概念与联系:介绍暗黑模式的基本概念和实现原理核心算法原理:讲解如何检测系统主题变化具体实现步骤:提供详细的代码示例实际应用场景:展示不同场景下的应用工具和资源推荐:列出有用的开发工具未来发展趋势:探讨暗黑模式的未来发展暗黑模式(Dark Mode):一种以深色为主的界面设计风格,旨在减少眼睛疲劳和节省电量系统主题(System Theme)

小程序开发 1045

微信小程序实现皮肤功能(夜间模式)

主要给大家介绍了关于利用微信小程序实现皮肤功能,也就是实现夜间模式的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

微信小程序DarkMode,深色模式自适应代码

微信小程序自适配DarkMode 主要是app.js里面配置。 { "pages":[ "index/index" ], "darkmode": true, "themeLocation": "theme.json", "window": { "backgroundTextStyle": "@backgroundTextStyle", "navigationBarBackgroundColor": "@navBackgroundColor", "navigationBarTitleTe

上善若水-架构师编程乐园 1856

【算法】图解A* 搜索算法

A* 算法是启发式搜索算法,是根据Dijkstra算法改进而来。 问题引入 如下图所示,S为起始(start)节点,G为目标(goal)节点。 节点之间连线是两点的路径长度,如A到E的路径长度c(A,E) = 9。 节点旁的h值时当前节点到达目标节点(G)的预估值,如h(A)=15, 表示从当前点A到达目标点G的估计路径长度为15,此处h(x)即为启发函数,启发函数的设计有很多方法,具体可......

zhuhua造轮子的博客 4万+

uniapp深色模式适配几个注意点

(3) uni-ui并没有支持深色模式,因此需要自己在uni_modules里找到组件在css里修改,scss或less都支持@media (prefers-color-scheme: dark)important更为稳妥,当然也可以在使用到这些组件的页面用::v-deep 修改,但是只对设置了的页面有效,建议在组件里修改。webview里的html文件也动态支持媒体查询 @media (prefers-color-scheme: dark) {},所以不必担心web-view适配问题。

前端实际开发中的bug和解决方法分享~ 2417

EAST算法(Efficient and Accuracy Scene Text))

1.EAST模型简介 本文介绍的文本检测模型EAST,便简化了中间的过程步骤,直接实现端到端文本检测,优雅简洁,检测的准确性和速度都有了进一步的提升。如下图: 其中,(a)、(b)、(c)、(d)是几种常见的文本检测过程,典型的检测过程包括候选框提取、候选框过滤、bouding box回归、候选框合并等阶段,中间过程比较冗长。而(e)即是本文介绍的EAST模型检测过程,从上图可看出,其过程简化为只有FCN阶段(全卷积网络)、NMS阶段(非极大抑制),中间过程大大缩减,而且输出结果支持文本行、单词的多个角度

博客 9578

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 769

微信小程序深色模式适配:vant-weapp主题切换实现

你是否还在为微信小程序深色模式适配而烦恼?用户切换系统主题时界面错乱、文字与背景对比度不足?本文将带你使用vant-weapp组件库,通过CSS变量和动态样式切换,快速实现深色模式与浅色模式的无缝切换,提升用户体验。读完本文你将掌握:主题切换核心原理、全局样式配置方法、组件动态样式修改技巧以及完整的实现代码。 ## 深色模式适配基础 ### 为什么需要深色模式 深色模式(Dark Mode)...

gitblog_00561的博客 1481

3D视觉引导技术在机器人焊接中的应用

通过对比传统的2D视觉和3D视觉技术在焊接领域的应用差异,探讨了3D视觉引导技术在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势。本文对3D视觉引导技术在机器人焊接中的应用进行了深入探讨,总结了其在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势,并通过应用案例展示了其在焊接路径规划、焊缝检测和焊接质量控制等方面的重要作用。1. 提高焊接精度:3D视觉引导技术能够精确测量焊接工件的三维形状和位置,为机器人提供精准的焊接路径规划和跟踪,从而提高焊接精度。三、3D视觉引导技术概述。

2302_79273122的博客 1835

微信小程序深色模式与主题切换:终极实现指南

想要为你的微信小程序添加深色模式和主题切换功能吗?🤔 作为现代移动应用的重要特性,深色模式不仅能提升用户体验,还能有效降低设备功耗。本指南将带你快速掌握微信小程序深色模式与主题切换的完整实现方案,让你的应用更加专业和个性化!✨ 微信小程序深色模式开发基于微信官方提供的主题配置能力,通过简单的配置文件即可实现多主题切换。这种实现方式既简单又高效,特别适合新手开发者快速上手。 ## 🔧 快速配

gitblog_07981的博客 561

基于matlab的CNN手写数字图像矫正系统

CNN 是一款强大的图像特征抽象和提取工具,常用于图像分类识别,并取得了较为理想的效果。我们通过 MATLAB 可以方便地设计不同结构、不同深度的 CNN 进行图像分类,最后一层一般设置为分类层(ClassificationLayer)进行类别标签的输出。如果我们将最后一层设计为回归层(RegressionLayer),则可以将其应用于对连续数据的预测,这对于曲线拟合、预测分析都有重要的意义。% 自定义 CNN 回归网络结构layers = [% 输入% 卷积% 池化% 池化% 卷积。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 675

【干货分享】高通 SA8295P PCB 设计规范指南

高通SA8295P芯片是第四代骁龙汽车数字座舱平台的核心组件,采用5nm工艺,集成高性能CPU/GPU和30TOPS算力的NPU。文章详细介绍了该芯片各接口的layout设计规范,包括USB3.1/2.0、eDP/DP、MIPI CSI/DSI、PCIe Gen3等接口的阻抗、损耗、延时等关键指标要求,为新能源汽车电子设计提供重要参考。

一只豌豆象的博客 260

uniapp -- 暗黑模式

暗黑模式(Dark Mode),也被称为夜间模式或深色模式,是一种使用深色背景和浅色文字的界面显示模式。

每天都要努力学习哦~~ 734

数据资产可视化分析:PowerBI在大数据管理中的实战

目的:帮你搞懂“为什么数据资产需要可视化?”“PowerBI能帮企业解决什么问题?”,并掌握用PowerBI做大数据可视化的实战技巧。范围:覆盖数据资产定义、可视化分析原理、PowerBI核心功能(数据连接、建模、可视化)、零售企业实战案例,以及未来趋势与挑战。背景:为什么企业的数据像乱堆的玩具?核心概念:数据资产、可视化分析、PowerBI分别是什么?它们怎么配合?实战步骤:用PowerBI帮零售企业整理“销售玩具箱”,做出能指导决策的仪表盘;应用场景:不同部门怎么用这个“整理好的玩具箱”?

2501_92132293的博客 906

告别新手!超详细深色UI设计指南

深色用户界面的设计,从手中握持的移动屏幕到宽广的大型屏幕,都已经越来越普遍。深色UI具有何种独特魅力呢?它所带来的不仅仅是力量和奢华的象征,更是精致优雅的体现。然而,将一个设计从浅色主题调整到深色主题,并非只是简单的颜色替换那么简单。如果不经思考就采用深夜模式,可能并不能达到理想的效果。设计师在揭露“暗黑面”的同时,也需要深入理解深色模式的设计原则。

l1m0_的博客 1578

智能测试策略优化:平衡覆盖率、时间和资源

在软件开发过程中,测试是确保软件质量的关键环节。然而,测试工作往往面临着诸多挑战,其中如何在保证测试覆盖率的前提下,合理分配时间和资源是一个核心问题。本文章的目的在于探讨智能测试策略的优化方法,帮助软件测试团队在有限的时间和资源条件下,实现尽可能高的测试覆盖率。文章的范围涵盖了智能测试策略的核心概念、算法原理、数学模型、实际应用案例以及相关工具和资源等方面。本文将按照以下结构进行组织:首先介绍智能测试策略优化的背景和相关概念,包括核心术语和缩略词的定义;

AIGC应用创新大全的博客 619

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

php开发模式微信小程序,微信小程序 暗黑模式

1、开启暗黑模式在 app.json 中配置 "darkmode": true// app.json{..."darkmode": true}2、配置主题文件在根目录新建主题配置文件 theme.json, 并在 app.json 中配置路径引入// app.json{..."themeLocation": "theme.json"}theme.json 配置文件一共分为两个属性,light 和 ...

weixin_39679718的博客 321

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

TDesign小程序组件库深色模式下的TabBar适配问题解析

在使用TDesign小程序组件库开发微信小程序时,开发者可能会遇到一个常见问题:在深色模式下,自定义TabBar组件无法正确应用主题样式。本文将深入分析这一问题的成因,并提供完整的解决方案。 ## 问题现象 当开发者按照官方文档配置深色模式时,发现TabBar组件无法正常切换为深色主题。具体表现为: 1. 在app.wxss中引入design token 2. 给TabBar组件添加page类...

gitblog_07534的博客 756

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

暗黑模式?安卓适配一波

如果你看到了这里,觉得文章写得不错就给个赞呗?如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。最后针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、移动架构师、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!

2401_84544495的博客 675

Pixel Couplet Gen效果展示:像素春联生成服务在微信小程序中支持暗黑模式适配

本文介绍了如何在星图GPU平台上自动化部署🎮 像素皇城 · 灵蛇贺岁 (Pixel Couplet Gen)镜像,实现像素风格春联的智能生成。该服务特别适配微信小程序的暗黑模式,通过AI技术将传统春节元素转化为8-bit游戏风格设计,广泛应用于节日社交分享、个性化祝福等场景,为用户带来独特的数字文化体验。

weixin_29155599的博客 441

安卓暗黑模式软件_安卓版微信暗黑模式终于更新了!

报!安卓版微信,更新了!安卓机友苦等的暗黑模式,它终于来了!有图有真相更舒适的深色模式这个暗黑模式,去年就开始内测,然后又迅速取消这次的开启模式跟上次一样。在系统设置中打开深色模式开关,微信就会随之变色。左:原生安卓深色模式,右:微信深色模式如果要说体验如何的话。相较 7.0.10 版本,7.0.13 内测版的深色模式对系统的适配更加深入。因此细节也更加完善,从聊天页面切换到文章页面、朋...

weixin_33501348的博客 498

accessibilityservice 跳转到朋友圈_微信改版,“暗黑模式”下的朋友圈,好神秘

近日,微信iOS版本,悄悄上线了大家期待已久的“暗黑模式”。如果你也想体验一把微信最新的夜间模式,可以到App Store上,把微信升级到最新版的7.0.12。打开很简单,在iPhone的【设置】----【显示与亮度】----勾选【深色】,这样再次打开微信,就可以看到夜间模式了。微信夜间模式,需要在iOS 13系统下才能使用。如果你的iPhone不支持升级到iOS 13,或者还没升级到i...

weixin_39675513的博客 294
上一篇: css 预编译处理器 - Stylus
下一篇: 微信小程序 - 自定义tabBar
master'z
博客等级 码龄9年 23粉丝 51原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值