Skip to content
On this page

Grid 网格布局

网格布局以固定列数的网格模式布置容器的元素。项目将填充单行,直到满足列数,之后将创建新行。垂直空间将在每行对象之间平均分割。

使用layout.NewGridLayout(cols)创建网格布局,其中cols是希望在每行中包含的项目(列)数。然后将此布局作为第一个参数传递给container.New(…)。

如果调整容器的大小,则每个单元格的大小将相等,以共享可用空间。

go
package main

import (
	"image/color"

	"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 Layout")

	text1 := canvas.NewText("1", color.White)
	text2 := canvas.NewText("2", color.White)
	text3 := canvas.NewText("3", color.White)
	grid := container.New(layout.NewGridLayout(2), text1, text2, text3)
	myWindow.SetContent(grid)
	myWindow.ShowAndRun()
}