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