Theme
组合色板、局部主题与组件默认样式。
实时预览
参数配置
全部字段 37
ComponentTheme
Theme
ShadowTokens
Palettes
列表项 · 11
列表项 · 11
列表项 · 11
列表项 · 11
列表项 · 11
列表项 · 11
列表项 · 11
Go 代码
// Inside a view; c is *ui.Context, t is nui.Theme.
local := t.WithComponent(nui.ComponentButton, nui.ComponentTheme{Color: nui.ColorDefault, Size: nui.SizeDefault, Variant: nui.VariantDefault})
nui.Button(c.Key("local"), local, "Local theme", nui.ButtonOptions{})
nui.Button(c.Key("override"), local, "Instance override", nui.ButtonOptions{Color: nui.Warning})
nui.Button(c.Key("parts"), t, "Part style override", nui.ButtonOptions{UI: nui.Styles{nui.Root: {Radius: nui.Set(float32(999)), PaddingX: nui.Set(float32(24))}}}).AlignSelf(ui.Start)使用说明
第一个按钮使用局部组件主题,第二个用实例颜色覆盖它,第三个通过 UI 调整圆角和水平内边距。修改颜色、尺寸和样式,比较全局主题、局部默认值与实例覆盖的优先级。
API 参考
Light
源码func Light() ThemeDark
源码func Dark() ThemeNewTheme
源码func NewTheme(dark bool, p Palettes) ThemeSet
源码func Set[T any](v T) Optional[T]Theme
源码type Theme struct {
Dark bool
Background, MutedBackground, Elevated, Accented, InvertedBackground ui.Color
Dimmed, Muted, Toned, Text, Highlighted, Inverted ui.Color
Border, BorderMuted, BorderAccented, BorderInverted ui.Color
Primary, Secondary, Success, Info, Warning, Error ui.Color
Radius, FontSize, Density, TextScale, ContainerWidth float32
Font, MonoFont string
Motion MotionTokens
Shadow ShadowTokens
HighContrast bool
Palettes Palettes
// contains filtered or unexported fields
}| 字段 | 类型 | 说明 |
|---|---|---|
Dark | boolGo 零值: | 深色主题快照或深色模式标志。 |
Background | ui.ColorGo 零值: | 背景颜色。 |
MutedBackground | ui.ColorGo 零值: | 主题中的 MutedBackground 语义颜色。 |
Elevated | ui.ColorGo 零值: | 主题中的 Elevated 语义颜色。 |
Accented | ui.ColorGo 零值: | 主题中的 Accented 语义颜色。 |
InvertedBackground | ui.ColorGo 零值: | 主题中的 InvertedBackground 语义颜色。 |
Dimmed | ui.ColorGo 零值: | 主题中的 Dimmed 语义颜色。 |
Muted | ui.ColorGo 零值: | 主题中的 Muted 语义颜色。 |
Toned | ui.ColorGo 零值: | 主题中的 Toned 语义颜色。 |
Text | ui.ColorGo 零值: | 显示的文字内容。 |
Highlighted | ui.ColorGo 零值: | 主题中的 Highlighted 语义颜色。 |
Inverted | ui.ColorGo 零值: | 反转数值或视觉方向。 |
Border | ui.ColorGo 零值: | 主题中的 Border 语义颜色。 |
BorderMuted | ui.ColorGo 零值: | 主题中的 BorderMuted 语义颜色。 |
BorderAccented | ui.ColorGo 零值: | 主题中的 BorderAccented 语义颜色。 |
BorderInverted | ui.ColorGo 零值: | 主题中的 BorderInverted 语义颜色。 |
Primary | ui.ColorGo 零值: | 主题中的 Primary 语义颜色。 |
Secondary | ui.ColorGo 零值: | 主题中的 Secondary 语义颜色。 |
Success | ui.ColorGo 零值: | 主题中的 Success 语义颜色。 |
Info | ui.ColorGo 零值: | 主题中的 Info 语义颜色。 |
Warning | ui.ColorGo 零值: | 主题中的 Warning 语义颜色。 |
Error | ui.ColorGo 零值: | 错误状态或错误说明。 |
Radius | float32Go 零值: | 圆角半径。 |
FontSize | float32Go 零值: | 字体大小。 |
Density | float32Go 零值: | 控件间距的缩放比例。 |
TextScale | float32Go 零值: | 文字缩放比例。 |
ContainerWidth | float32Go 零值: | 默认容器宽度。 |
Font | stringGo 零值: | 字体族名称。 |
MonoFont | stringGo 零值: | 等宽字体族。 |
Motion | MotionTokensGo 零值: | 动态效果与减少动画配置。 |
Shadow | ShadowTokensGo 零值: | 阴影颜色、模糊和偏移配置。 |
HighContrast | boolGo 零值: | 启用高对比度主题处理。 |
Palettes | PalettesGo 零值: | 主题使用的语义色板集合。 |
ComponentTheme
源码type ComponentTheme struct {
Color Color
Size Size
Variant Variant
UI Styles
}| 字段 | 类型 | 说明 |
|---|---|---|
Color | ColorGo 零值: | 语义颜色;默认值继承主题或组件配色。 |
Size | SizeGo 零值: | 组件尺寸;默认值继承主题或组件尺寸。 |
Variant | VariantGo 零值: | 组件外观样式,支持范围取决于组件。 |
UI | StylesGo 零值: | 以部件名称为键覆盖外观和间距。 |
PartStyle
源码type PartStyle struct {
Background, Foreground, BorderColor Optional[ui.Color]
Radius, BorderWidth, Opacity Optional[float32]
FontSize, LineHeight, PaddingX, PaddingY, Gap Optional[float32]
Font Optional[string]
Weight Optional[int]
Shadow Optional[ShadowTokens]
}| 字段 | 类型 | 说明 |
|---|---|---|
Background | Optional[ui.Color]Go 零值: | 背景颜色。 |
Foreground | Optional[ui.Color]Go 零值: | 前景文字或图标颜色。 |
BorderColor | Optional[ui.Color]Go 零值: | 边框颜色。 |
Radius | Optional[float32]Go 零值: | 圆角半径。 |
BorderWidth | Optional[float32]Go 零值: | 边框宽度。 |
Opacity | Optional[float32]Go 零值: | 不透明度,通常为 0 到 1。 |
FontSize | Optional[float32]Go 零值: | 字体大小。 |
LineHeight | Optional[float32]Go 零值: | 文字行高。 |
PaddingX | Optional[float32]Go 零值: | 水平内边距,单位为 DIP。 |
PaddingY | Optional[float32]Go 零值: | 垂直内边距,单位为 DIP。 |
Gap | Optional[float32]Go 零值: | 相邻内容之间的间距。 |
Font | Optional[string]Go 零值: | 字体族名称。 |
Weight | Optional[int]Go 零值: | 字体粗细。 |
Shadow | Optional[ShadowTokens]Go 零值: | 阴影颜色、模糊和偏移配置。 |
Decoration
源码type Decoration struct {
UI Styles
Style func(Slot, ui.Element)
}| 字段 | 类型 | 说明 |
|---|---|---|
UI | StylesGo 零值: | 以部件名称为键覆盖外观和间距。 |
Style | func(Slot, ui.Element)Go 零值: | 同步配置当前构建的部件;不要保留 Element。 |
Optional
源码type Optional[T any] struct {
Value T
Set bool
}| 字段 | 类型 | 说明 |
|---|---|---|
Value | TGo 零值: | 控件值、字段值或数据读取函数。 |
Set | boolGo 零值: | 区分显式值与继承默认值。 |