NewStack
Creates a container that stacks multiple objects on top of each other, with the last one drawn on top.
Creating a Stack
Section titled “Creating a Stack”Show Code
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/widget")
func main() { myApp := app.New() myWindow := myApp.NewWindow("Stack")
// Base layer: image bg := canvas.NewRectangle(color.NRGBA{R: 180, G: 200, B: 255, A: 255}) bg.SetMinSize(fyne.NewSize(400, 300))
// Overlay: centered text text := canvas.NewText("Hello, Fyne Stack!", color.White) text.Alignment = fyne.TextAlignCenter text.TextSize = 24
// Overlay: floating button btn := widget.NewButton("Click Me", func() { text.Text = "Button Clicked!" text.Refresh() })
btnContainer := container.NewWithoutLayout(btn) btn.Move(fyne.NewPos(280, 250)) // manual positioning inside stack
// Stack layers: background → text → button stack := container.NewStack(bg, text, btnContainer)
myWindow.SetContent(stack) myWindow.Resize(fyne.NewSize(400, 300)) myWindow.ShowAndRun()}