在某些情况下,Resize() 或 Move() 函数不起作用。
例如
func createUI(application fyne.App) *fyne.Container {
exitBtn := widget.NewButton("Exit", func() { application.Quit() })
rect := canvas.NewRectangle(color.NRGBA{255, 0, 0, 255})
rect.Resize(fyne.NewSize(500, 500))
header := container.NewMax(rect)
nav := container.NewBorder(canvas.NewText("Navigate", color.Black), exitBtn, nil, nil)
body := container.NewCenter(canvas.NewText("Content", color.Black))
return container.NewBorder(header, nil, nav, body)
}
您已将 Rectangle 放入具有布局的容器中 - 它将控制大小和位置。如果你想做手动定位,你应该使用
container.NewContainerWithoutLayout
. 或者,您可以构建自定义布局来定位项目。正如您可能在文档中看到的那样,Move
布局Resize
如何管理小部件,因此您的代码将被覆盖。