组件 · 风格
ThemeSwitcher
「设置 › 外观」里的风格与明暗选择器,三种风格卡片加「跟随系统 / 亮色 / 暗色」。
调用方提供:可选的 style(clean | sticker | pixel)和 mode(system | light | dark)作为初始值,以及 onChange({ style, mode })。不传 onChange 时组件直接调用 BostonIvy.applyTheme 改 <html data-theme>;在产品里应当传入,先保存到用户设置,再应用主题。
行为
- 卡片里的缩略图用嵌套的
data-theme,按当前明暗渲染该风格的真实配色,只用 token,不依赖风格专属组件。 - 选择立即生效,不需要「保存」按钮;同时写本地缓存和服务器上的用户设置(见「风格切换」)。
- 「App 图标跟随风格」默认关闭;Android 上打开前要提示应用可能重启。
三种风格下的差异:只有外观随当前主题变化,选项和顺序固定:青藤、萌虎、像素。
无障碍:两组都是原生单选按钮(radiogroup),方向键可切换;选中的卡片有 2px 品牌色外框,键盘焦点另有焦点环。