Grid Wrap 网格折行
与前面的网格布局一样,网格环绕布局在网格模式中创建元素的排列。然而,此网格没有设置列数,而是为每个单元格使用固定大小,然后将内容流到显示项目所需的行数。
使用layout.NewGridWrapLayout(size)创建网格换行布局,其中size指定应用于所有子元素的大小。然后将此布局作为第一个参数传递给container.New(…)。列数和行数将根据容器的当前大小计算。
最初,网格换行布局将只有一列,如果调整其大小(如右侧的代码注释所示),它将重新排列子元素以填充空间。
go
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("Grid Wrap Layout")
text1 := canvas.NewText("1", color.White)
text2 := canvas.NewText("2", color.White)
text3 := canvas.NewText("3", color.White)
grid := container.New(layout.NewGridWrapLayout(fyne.NewSize(50, 50)),
text1, text2, text3)
myWindow.SetContent(grid)
// myWindow.Resize(fyne.NewSize(180, 75))
myWindow.ShowAndRun()
}