kwgt 中文文档 下载 App

kwgt 日夜条件自动切换 两套布局随时间变

核心函数:dn

$dn$ 是 kwgt 内置的"夜间模式"布尔函数:

把它放进 if 函数里,所有地方都能自动切换。

切换什么

1. 颜色配色(最常见)

$if(dn, '#FFFFFF', '#000000')$

文字颜色 → 夜间白(适合深色壁纸),日间黑(适合浅色壁纸)。

$if(dn, '#1C1C1C', '#F2F2F2')$

卡片背景色 → 夜间深灰,日间浅灰。

2. 元素隐藏 / 显示

用 Opacity 字段:

$if(dn, 100, 0)$

某个夜间才出现的装饰元素 → 日间完全透明隐藏,夜间显示。反过来也可以。

3. 完全不同的布局

做法:

  1. 设计一套"日间版"元素组
  2. 设计一套"夜间版"元素组
  3. 两组都放在同一画布上,重叠位置
  4. 日组 Opacity = $if(dn, 0, 100)$
  5. 夜组 Opacity = $if(dn, 100, 0)$

系统切换暗色模式的瞬间,整组元素一起切换。

4. 背景图切换

Root 层背景图:

$http( $if(dn, 'https://example.com/night.jpg', 'https://example.com/day.jpg'), 3600 )$

进阶:按时间切(不依赖系统暗色模式)

如果你想按固定时间切,不用 dn,改用时间判断:

$if(tc(h) >= 22 || tc(h) < 7, '#1C1C1C', '#F2F2F2')$

22:00 - 次日 7:00 → 夜间深色;其他时间 → 日间浅色。

切换 vs 两套预设

新手建议先从条件切换练起,理解 dn + if + Opacity 这套组合。