Skip to content

自定义主题

介绍

由于 ArkTS 样式不支持统一配置和预处理器,因此需要开发者自行实现自定义主题功能。本 UI 库实现思路是通过AppStorage进行存储,在需要更改主题时,通过调用 setIBestUIBaseStyle 方法,设置主题。

更改主题

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

ts
import { setIBestUIBaseStyle } from "@ibestservices/ibest-ui";

@Entry
@Component
struct AppPage {

  // 组件渲染前
  aboutToAppear(){
    // 初始化一些变量
    setIBestUIBaseStyle({
      primary: '#3D8AF2'
    })
  }

  build(){
    // ...
  }
}

IbestUIBaseStyleType 类型说明

TIP

该类型即为setIBestUIBaseStyle的参数类型,均为非必填类型,传入值会覆盖默认值,暂时支持这么多预设样式,随着组件丰富逐步完善!

参数说明类型默认值
primaryprimary 反馈色string
#3D8AF2
successsuccess 反馈色string
#58DB6B
warningwarning 反馈色string
#F29C73
dangerdanger 反馈色string
#DB3131
defaultdefault 默认色string
#FFFFFF
spaceMini间距,一般用于 paddingmargin,单位 lpxstring4lpx
spaceBase间距,一般用于 paddingmargin,单位 lpxstring8lpx
spaceXs间距,一般用于 paddingmargin,单位 lpxstring16lpx
spaceSm间距,一般用于 paddingmargin,单位 lpxstring24lpx
spaceMd间距,一般用于 paddingmargin,单位 lpxstring32lpx
spaceLg间距,一般用于 paddingmargin,单位 lpxstring48lpx
spaceXl间距,一般用于 paddingmargin,单位 lpxstring64lpx
fontSizeXs文字大小,单位 lpxstring20lpx
fontSizeSm文字大小,单位 lpxstring24lpx
fontSizeMd文字大小,单位 lpxstring28lpx
fontSizeLg文字大小,单位 lpxstring32lpx
fontSizeXl文字大小,单位 lpxstring40lpx
borderRadiusSm圆角大小,单位 lpxstring4lpx
borderRadiusMd圆角大小,单位 lpxstring8lpx
borderRadiusLg圆角大小,单位 lpxstring16lpx
borderRadiusMax圆角大小,单位 lpxstring1998lpx
animationDuration动画时长,单位 ms,如Switch组件的切换动画时长number200