2 回答

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊
像這樣?或者描述更多細(xì)節(jié)。
package main
import (
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
)
func main() {
f := app.New()
w := f.NewWindow("")
label1 := widget.NewLabel("Label1")
b1 := widget.NewButton("Button1", func() {})
b2 := widget.NewButton("Button2", func() {})
label2 := widget.NewLabel("Label3")
w.SetContent(
fyne.NewContainerWithLayout(
layout.NewVBoxLayout(),
fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), label1, layout.NewSpacer()),
layout.NewSpacer(),
fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), b1, b2, layout.NewSpacer()),
layout.NewSpacer(),
fyne.NewContainerWithLayout(layout.NewHBoxLayout(), layout.NewSpacer(), label2, layout.NewSpacer()),
),
)
w.Resize(fyne.Size{Height: 320, Width: 480})
w.ShowAndRun()
}
編輯:試過NewBorderLayout但不確定這是否是你想要的。
拿到的時候別忘了告訴我正確的方法。祝你好運!
package main
import (
"fmt"
"fyne.io/fyne"
"fyne.io/fyne/app"
"fyne.io/fyne/layout"
"fyne.io/fyne/widget"
)
func main() {
f := app.New()
w := f.NewWindow("")
label1 := widget.NewLabel("Label1")
b1 := widget.NewButton("Button1", func() { fmt.Println("button1") })
b1.ExtendBaseWidget(b1)
b2 := widget.NewButton("Button2", func() { fmt.Println("button2") })
b2.ExtendBaseWidget(b2)
label2 := widget.NewLabel("Label3")
labox1 := fyne.NewContainerWithLayout(layout.NewGridLayoutWithRows(3),
fyne.NewContainerWithLayout(
layout.NewCenterLayout(),
label1,
))
labox2 := fyne.NewContainerWithLayout(layout.NewCenterLayout(), label2)
w.SetContent(
fyne.NewContainerWithLayout(
layout.NewBorderLayout(
labox1,
labox2,
nil,
nil,
),
labox1,
labox2,
fyne.NewContainerWithLayout(
layout.NewAdaptiveGridLayout(2),
b1,
b2,
),
),
)
w.Resize(fyne.Size{Height: 320, Width: 480})
w.ShowAndRun()
}

TA貢獻(xiàn)1844條經(jīng)驗 獲得超8個贊
如果您希望擴(kuò)展中心內(nèi)容,我建議您使用 BorderLayout,Box 小部件旨在將項目打包而不是展開。VBox 將擴(kuò)展寬度并使用元素的 minSize 作為它們的高度(以創(chuàng)建一個偶數(shù)列表),而 HBox 將擴(kuò)展高度同時保持項目的最小寬度(如按鈕欄)。
為了打包整個應(yīng)用程序 UI,您更有可能直接使用容器,例如fyne.NewContainerWithLayout(layout.NewBorderLayout(...), ...)
. 您可能會發(fā)現(xiàn)Fyne Tour的布局部分很有幫助,特別是BorderLayout。
- 2 回答
- 0 關(guān)注
- 362 瀏覽
添加回答
舉報