Fyne 系列 04:布局系统怎么选
Fyne 里不要用固定像素去摆控件,而是用容器和布局组合界面。窗口大小变化时,布局会自动重新计算控件位置和尺寸。
VBox 和 HBox
VBox 纵向排列,HBox 横向排列,适合最简单的表单和按钮组。
1 | content := container.NewVBox( |
横向按钮:
1 | buttons := container.NewHBox( |
Border
Border 适合常见应用结构:顶部工具栏、底部状态栏、左侧导航、右侧详情,中间是主要内容。
1 | top := widget.NewToolbar(widget.NewToolbarAction(theme.DocumentCreateIcon(), func() {})) |
大多数桌面工具都可以先从 Border 开始搭骨架。
Grid 和 GridWrap
Grid 适合固定列数的布局,例如按钮矩阵。
1 | content := container.NewGridWithColumns(3, |
GridWrap 适合固定每个元素尺寸,然后自动换行,例如图标列表。
Split
Split 适合左右分栏或上下分栏。
1 | split := container.NewHSplit(left, center) |
日志查看器、文件管理器、配置编辑器都常用这种结构。
选型建议
简单纵向表单用 VBox,典型应用框架用 Border,左右面板用 Split,规则网格用 Grid,复杂响应式页面再考虑自定义布局或 fyne-x 的 Responsive Layout。
评论
评论插件加载失败
正在加载评论插件