Skip to content

Toggle(切换按钮) ​

ui.Toggle 创建一个在 *bool 为 true 时保持按下状态的按钮,就像编辑器 工具栏里的加粗:点击会将其按下或松开,在它拥有键盘焦点时按空格也一样, Changed 会上报一次变化。

go
ui.Toggle(c, &app.inspector, "Inspector")

用 Children 和一个空标签给它其他内容,比如图标,并用 Label 命名它:

go
ui.Toggle(c, &app.bold, "").Label("Bold").Children(func() { ui.Icon(c, boldIcon) })

切换按钮组 ​

ui.ToggleGroup 把其中的切换按钮和按钮连成一体绘制,像一个控件的各个 分段,比如加粗、斜体和下划线。它们是 Tab 的一个焦点停靠点,方向键在其中 移动焦点,如同在工具栏中:

go
ui.ToggleGroup(c, func() {
	ui.Toggle(c, &app.bold, "B")
	ui.Toggle(c, &app.italic, "I")
	ui.Toggle(c, &app.underline, "U")
}).Label("Style")

对于多选一的场景,如视图模式,使用分段控件。

无外观 ​

ui.ToggleBase 是一个没有外观的切换按钮:一个在被点击时翻转其 *bool 的 行:参见自定义控件。

无障碍 ​

辅助技术看到的是一个切换按钮,处于开启时显示为按下状态;切换按钮组则是一 个由其 Label 命名的组。