微信小程序 暗黑模式

1. 微信小程序暗黑模式简介

微信小程序暗黑模式是一种以黑色为主的配色方案。在其背景下,文字和图标等元素都会变成白色或其他亮色系。暗黑模式不仅可以减轻眼部疲劳,而且让界面看起来更加现代化。

微信小程序在2021年4月份加入了暗黑模式。此前,微信小程序只支持白天模式,而这个新特性给用户带来了全新的使用体验。

2. 如何在微信小程序中开启暗黑模式

2.1 在手机系统中开启暗黑模式

在使用微信小程序前,需要将手机系统开启暗黑模式。手机系统中暗黑模式开启方法因不同手机品牌而异,大部分手机品牌在设置中都能找到暗黑模式的开关。例如,在iOS设备上,可以通过“设置”->“显示与亮度”->“浅色”/“深色”选择暗黑模式。

2.2 在微信小程序中开启暗黑模式

开启手机暗黑模式后,微信小程序会自动适配。但是,如果小程序在开发时没有考虑到暗黑模式的适配,可能会出现布局混乱、文字颜色不对等问题,因此需要在小程序内部对暗黑模式进行设置。

在小程序中,可以通过以下代码开启暗黑模式:

wx.setBackgroundColor({

backgroundColor: '#000000',//背景颜色

backgroundColorTop: '#000000',//顶部背景颜色

backgroundColorBottom: '#000000',//底部背景颜色

success: function () {

console.log('set background success');

}

});

代码中要设置三个颜色属性:backgroundColor(页面背景颜色)、backgroundColorTop(顶部状态栏背景颜色)和backgroundColorBottom(底部导航栏背景颜色)。同样,还可以通过wx.setNavigationBarColor API单独设置顶部颜色。

为了方便开发者开发,微信小程序提供了一个官方的暗黑模式组件库wechat-miniprogram-darkmode,该组件库包含了许多常用组件的暗黑模式样式。

3. 实现暗黑模式的建议

3.1 小程序内部样式设置

在开发小程序时,应该考虑到暗黑模式的适配,通过设置内部样式来实现适配。在样式文件中,可以通过media属性来实现不同主题下使用不同的样式,代码如下:

@media screen and (prefers-color-scheme: dark) {

/* 暗黑模式下样式 */

}

@media screen and (prefers-color-scheme: light) {

/* 白天模式下样式 */

}

代码中,利用@media属性和prefers-color-scheme属性来判断设备是否开启暗黑模式,然后根据不同的状态选择样式进行设置。

3.2 多主题切换

除了自动适配外,也可以在小程序中实现多主题切换,让用户自由选择使用白天模式或暗黑模式。实现多主题切换有两种方式:

1. 调用wx.setBackgroundColor函数,实现背景颜色等一系列颜色属性的切换。

2. 应用不同的CSS样式。

无论是哪种方式,都需要在程序中添加一个切换按钮,让用户手动切换主题。

4. 总结

微信小程序暗黑模式是一种新的体验方式,提供了更好的用户体验和更先进的外观。在进行开发时,要充分考虑暗黑模式的适配,尽可能地减少实现多主题切换的难度。