Skip to content

自定义主题

介绍

在需要更改主题样式时,可通过调用 TnUISetUIBaseStyle 方法设置样式。

更改主题

在项目的启动页面中,通过调用 TnUISetUIBaseStyle 方法设置主题。

WARNING

若项目使用了 setGlobalConfig 方法,请确保在该方法之后调用 TnUISetUIBaseStyle

typescript
import { TnUIInitializer } from "@tuniao/tn-ui";
import { 
  TnUISetUIBaseStyle, 
  CustomColorWrapper, 
  ResourceColorWrapper 
} from "@tuniao/tn-ui/theme-chalk";

onWindowStageCreate(windowStage: window.WindowStage): void {
  // 初始化组件库
  TnUIInitializer.initTnUI(windowStage, this.context);

  // 自定义主题色
  TnUISetUIBaseStyle({
    primary: new CustomColorWrapper("#7232dd"),
    warning: new ResourceColorWrapper("indigo"), // 支持内置颜色资源
  });
}

TnUIBaseStyleType 类型说明

TIP

  • 该类型即为 TnUISetUIBaseStyle 方法的参数类型,均为非必填,传入值会覆盖默认值
  • 默认单位为 vp,当全局单位为 lpx 时,数值会依据 designWidth 和当前设备屏幕宽度自动计算转化

主题颜色

参数说明类型默认值
primaryprimary 主色ResourceColorWrapper蓝色 #01beff
successsuccess 反馈色ResourceColorWrapper绿色 #00d886
warningwarning 反馈色ResourceColorWrapper橙色 #fbbd12
dangerdanger 反馈色ResourceColorWrapper红色 #ff444f
errorerror 反馈色ResourceColorWrapper红色 #ff444f
infoinfo 反馈色ResourceColorWrapper灰色 #9c9c9c

字体大小

参数说明类型默认值
fontSizeXxs极小字体string10
fontSizeXs辅助字体string12
fontSizeSm次要字体string13
fontSize默认字体string14
fontSizeLg标题字体string16
fontSizeXl大标题string18
fontSizeXXl超大标题string20
fontSizeXXXl特大标题string26
fontSizeXXXXl巨大标题string32

间距

参数说明类型默认值
spaceMini极小间距string2
spaceBase基础间距string4
spaceXs微小间距string5
spaceXsm小间距string8
spaceSm中小间距string10
spaceMd中间距string12
space默认间距string15
spaceMlg中大间距string16
spaceLg大间距string20
spaceXl超大间距string25

圆角

参数说明类型默认值
borderRadiusSm微小圆角string2
borderRadius默认圆角string4
borderRadiusLg中圆角string8
borderRadiusXl大圆角string10
borderRadiusXxl弹窗圆角string12
borderRadiusMax胶囊形string9999

行高

参数说明类型默认值
lineHeightXs极小行高string14
lineHeightXsm小行高string16
lineHeightSm默认行高string18
lineHeightMd中行高string20
lineHeightLg大行高string22

阴影

参数说明类型默认值
shadowSm微小阴影ShadowLevelConfig{ radius: 4, offsetX: 0, offsetY: 2 }
shadowDefault默认阴影ShadowLevelConfig{ radius: 8, offsetX: 0, offsetY: 4 }
shadowMd中阴影ShadowLevelConfig{ radius: 16, offsetX: 0, offsetY: 8 }
shadowLg大阴影ShadowLevelConfig{ radius: 24, offsetX: 0, offsetY: 12 }

动画

参数说明类型默认值
animationDuration动画时长,单位 msnumber200