ButtonSpinner Design Token
ButtonSpinner 使用 ButtonSpinnerToken(Token ID: "ButtonSpinner")作为组件级 Design Token。ButtonSpinnerToken 继承自 LineEditToken,后者又继承自 AbstractControlDesignToken,因此 ButtonSpinner 可以复用所有输入控件的基础 Token 值。
Token 继承关系
Token 资源访问方式
在 AXAML 中使用组件级 Token:
在 AXAML 中使用全局共享 Token:
组件级 Token 一览
以下是 ButtonSpinnerToken 自身定义的 Token(不含继承自 LineEditToken 的部分)。
尺寸 Token
| Token 名 |
类型 |
来源 |
说明 |
ControlWidth |
double |
固定 90 |
默认控件宽度 |
HandleWidth |
double |
SharedToken.ControlHeightSM |
操作按钮区域宽度 |
HandleIconSize |
double |
SharedToken.FontSize / 2 |
操作按钮图标(↑↓)大小 |
颜色 Token
| Token 名 |
类型 |
来源 |
说明 |
HandleBg |
Color |
SharedToken.ColorBgContainer |
操作按钮默认背景色 |
HandleActiveBg |
Color |
SharedToken.ColorFillAlter |
操作按钮按下态背景色 |
HandleHoverColor |
Color |
SharedToken.ColorPrimary |
操作按钮悬浮态图标颜色 |
HandleBorderColor |
Color |
SharedToken.ColorBorder |
操作按钮边框颜色 |
FilledHandleBg |
Color |
ColorUtils.OnBackground(SharedToken.ColorFillSecondary, HandleBg) |
Filled 变体下操作按钮背景色 |
继承自 LineEditToken 的 Token
| Token 名 |
类型 |
来源 |
说明 |
InputFontSize |
double |
SharedToken.FontSize |
默认字体大小 |
InputFontSizeLG |
double |
SharedToken.FontSizeLG |
大号字体大小 |
InputFontSizeSM |
double |
SharedToken.FontSizeSM |
小号字体大小 |
主题中使用的全局 SharedToken
除组件级 Token 外,ButtonSpinner 的 ControlTheme 还直接引用了以下全局 SharedToken:
ButtonSpinnerTheme 使用的 SharedToken
| Token 资源键 |
使用场景 |
EnableMotion |
控制是否启用动画过渡 |
BorderRadius |
Middle 尺寸圆角 |
BorderRadiusSM |
Small 尺寸圆角 |
BorderRadiusLG |
Large 尺寸圆角 |
ButtonSpinnerHandleTheme 使用的 SharedToken
| Token 资源键 |
使用场景 |
ColorBorder |
操作按钮容器边框颜色 |
BorderThickness |
操作按钮容器边框粗细 |
ColorBgContainer |
操作按钮容器背景色 |
ColorPrimaryActive |
操作按钮按下态图标颜色 |
Token 对外观的具体影响
操作按钮区域
| 视觉元素 |
默认态 Token |
悬浮态 Token |
按下态 Token |
| 背景色 |
HandleBg |
— |
HandleActiveBg |
| 图标颜色 |
继承主题默认色 |
HandleHoverColor(主色) |
ColorPrimaryActive(主色激活态) |
| 边框颜色 |
HandleBorderColor |
— |
— |
| 图标大小 |
HandleIconSize |
— |
— |
| 区域宽度 |
HandleWidth |
— |
— |
整体控件
| 视觉元素 |
Token |
说明 |
| Large 尺寸圆角 |
SharedToken.BorderRadiusLG |
SizeType="Large" 时的圆角 |
| Middle 尺寸圆角 |
SharedToken.BorderRadius |
SizeType="Middle" 时的圆角 |
| Small 尺寸圆角 |
SharedToken.BorderRadiusSM |
SizeType="Small" 时的圆角 |
| 浮动动画时长 |
SharedToken.MotionDurationMid |
操作按钮滑入/滑出的动画时长 |
Filled 变体
| 视觉元素 |
Token |
说明 |
| 操作按钮背景色 |
FilledHandleBg |
Filled 变体下操作按钮背景区分于默认 HandleBg |
注意事项
ButtonSpinnerToken 继承自 LineEditToken,因此当修改 LineEditToken 的 Token 值时,ButtonSpinner 也会受到影响。
- 操作按钮的悬浮/按下态使用主题主色(
ColorPrimary / ColorPrimaryActive),确保与 AtomUI 整体主题一致。
ControlWidth 固定为 90,是少数未从 SharedToken 派生的 Token 值之一——这是因为 ButtonSpinner 通常需要精确的默认宽度。