Files
MujicaUI/docs/components/047-color-picker.md
T

1.6 KiB
Raw Blame History

047 ColorPicker

颜色选择器。

用途

选择带透明度的颜色:色板按钮弹出面板,包含饱和度/亮度方块、色相与透明度滑块、HEX 与 RGB、透明度输入以及预设色。透明部分显示棋盘格。

最小示例

tint := ui.Hex("#7D2034")
view := func(c *ui.Context) {
	mujica.Use(c, mujica.Settings{})
	mujica.ColorPicker(c, &tint, mujica.ColorPickerOptions{Label: "Tint"})
}
ui.Render(view, 400, 300, 1)

参数

字段 类型 默认值 含义
color *ui.Color 必填 当前颜色。
Presets []ui.Color 内置 12 色宫廷色板 预设色。
Label string 内置“Color/颜色” 按钮的无障碍名称。
Disabled bool false 禁用。

状态

默认、悬停、聚焦、展开、输入无效(对应输入框边框变红并显示格式说明,颜色不变)、预设选中(边框加勾选标记)、禁用。

事件

ColorPickerParts.Changed() 用户选择了新颜色;Trigger 为按钮元素。

键盘操作

Enter/Space 打开;打开后焦点在方块上,方向键调整饱和度与亮度;Tab 依次到达色相、透明度滑块(方向键、Home、End)、HEX、R、G、B、A 输入框与预设色;Escape 或点击外部关闭并把焦点还给按钮。

限制

  • HEX 接受 RGB、RRGGBB、RRGGBBAA,可带或不带 #;RGB 为 0–255 整数,透明度为 0–100。无效输入保留在输入框中直到失焦,不修改颜色。
  • 色谱渐变是 PRD 允许的例外。
  • 弹层位置由 MyGo PopoverBase 决定,空间不足时显示在按钮上方。