Grid Layout
The grid layout lays out the elements of a container in a grid pattern with a fixed number of columns. Items will fill a single row until the number of columns is met, after this a new row will be created. Vertical space will be split equally between each of the rows of objects.
You create a grid layout using layout.NewGridLayout(cols)
where cols
is the number of items (columns) you wish to have in each row. This
layout is then passed as the first parameter to
fyne.NewContainerWithLayout(...)
.
If you resize the container then each of the cells will resize equally to share the available space.
Example Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 package main import ( "image/color" "fyne.io/fyne" "fyne.io/fyne/app" "fyne.io/fyne/canvas" "fyne.io/fyne/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 := fyne.NewContainerWithLayout(layout.NewGridLayout(2), text1, text2, text3) myWindow.SetContent(grid) myWindow.ShowAndRun() }