外观
可折叠区域
ui.Collapsible 创建一个披露控件(disclosure),如同 SwiftUI 的 DisclosureGroup:一个标签旁跟着一支箭头,点击可以展开和收起,Enter 和 空格键同样如此;当 *bool 为 true 时,在其下方显示其函数构建的内容。 展开时箭头会旋转,内容会逐渐生长进入视野。Changed 会报告一次点击。
go
ui.Collapsible(c, "Advanced", &app.advanced, func() {
ui.Checkbox(c, &app.verbose, "Verbose logging")
ui.Checkbox(c, &app.experimental, "Experimental features")
})当桌面系统要求减少动态效果时,内容会立即显示。
若要在一个框中放置多个分区,请使用折叠面板。
不带外观
ui.CollapsibleBase 是一个不带外观的可折叠区域:一个 Trigger 用于 显示和隐藏 Panel 构建的内容,并用 Progress 使其生长和收缩—— Progress 从收起时的 0 到展开时的 1——供你实现自己的外观和动效:
go
p := ui.CollapsibleBase(c, &app.open)
p.Trigger.Gap(6).Children(func() {
ui.Icon(c, chevron).Rotate(90 * p.Progress())
ui.Text(c, "Details")
})
p.Panel(func() {
ui.Text(c, app.details)
})参见自定义控件。
无障碍
辅助技术会看到一个由其标签命名的披露控件,处于展开或收起状态,它可以 像点击一样将其打开和关闭。