fyne网格包裹布局
与之前的网格布局一样,网格环绕布局以网格模式创建元素排列。但是,此网格没有固定数量的列,而是为每个单元格使用固定大小,然后将内容流到显示项目所需的行数。
layout.NewGridWrapLayout(size)
您可以使用其中 size 指定要应用于所有子元素的大小来创建网格环绕布局。然后将此布局作为第一个参数传递给 container.New(...)
. 列数和行数将根据容器的当前大小计算。
package main
import (
"image/color"
"fyne.io/fyne/v2"
"fyne.io/fyne/v2/app"
"fyne.io/fyne/v2/canvas"
"fyne.io/fyne/v2/container"
"fyne.io/fyne/v2/layout"
)
func main() {
myApp := app.New()
myWindow := myApp.NewWindow("golang-tech-stack.com")
// 文本1
text1 := canvas.NewText("1", color.Black)
// 文本2
text2 := canvas.NewText("2", color.Black)
// 文本3
text3 := canvas.NewText("3", color.Black)
// 间距 100x100 默认 1行1列
grid := container.New(layout.NewGridWrapLayout(fyne.NewSize(100, 100)),
text1, text2, text3)
myWindow.SetContent(grid)
myWindow.ShowAndRun()
}
GridWrapLayout尝试将所有对象布局在一行,如果尺寸不够就再起一行。