自定义网格布局行大小
Cutomize grid layout rows size
我正在尝试使用包含行的网格布局,其中第一行是 GroupWithScroller
,第二行是 ContainerWithLayout
,并且只有两个按钮,quit
和 Ok
,所以第二行的高度一定很短,但我不知道如何调整其中任何一个的大小。这是我试过的:
a := app.New()
w := a.NewWindow("Title")
var (
quitButton = widget.NewButton("Quit", func() {
a.Quit()
})
okButton = widget.NewButton("Ok", func() {
confirmed = true
a.Quit()
})
)
var (
filesBox = widget.NewGroupWithScroller("Another Title",)
buttonsBox = fyne.NewContainerWithLayout(layout.NewAdaptiveGridLayout(2), quitButton, okButton)
)
for _, file := range files {
var fileCheck = check{
checked: false,
label: filepath.Base(file),
}
storeChecks = append(storeChecks, &fileCheck)
filesBox.Append(widget.NewCheck(fileCheck.label, fileCheck.toggle))
}
w.SetContent(
fyne.NewContainerWithLayout(
layout.NewGridLayoutWithRows(2),
filesBox,
buttonsBox,
),
)
w.Resize(fyne.Size{
Width: 320,
Height: 480,
})
w.ShowAndRun()
但结果 window 似乎每行的高度减半:
如何改变第二行的高度?
GridLayout 旨在使所有元素保持相同大小。如果您希望按钮在底部的高度最小,您可能需要 BorderLayout - 将按钮设置在底部 space 应该按照您的描述进行。
我正在尝试使用包含行的网格布局,其中第一行是 GroupWithScroller
,第二行是 ContainerWithLayout
,并且只有两个按钮,quit
和 Ok
,所以第二行的高度一定很短,但我不知道如何调整其中任何一个的大小。这是我试过的:
a := app.New()
w := a.NewWindow("Title")
var (
quitButton = widget.NewButton("Quit", func() {
a.Quit()
})
okButton = widget.NewButton("Ok", func() {
confirmed = true
a.Quit()
})
)
var (
filesBox = widget.NewGroupWithScroller("Another Title",)
buttonsBox = fyne.NewContainerWithLayout(layout.NewAdaptiveGridLayout(2), quitButton, okButton)
)
for _, file := range files {
var fileCheck = check{
checked: false,
label: filepath.Base(file),
}
storeChecks = append(storeChecks, &fileCheck)
filesBox.Append(widget.NewCheck(fileCheck.label, fileCheck.toggle))
}
w.SetContent(
fyne.NewContainerWithLayout(
layout.NewGridLayoutWithRows(2),
filesBox,
buttonsBox,
),
)
w.Resize(fyne.Size{
Width: 320,
Height: 480,
})
w.ShowAndRun()
但结果 window 似乎每行的高度减半:
如何改变第二行的高度?
GridLayout 旨在使所有元素保持相同大小。如果您希望按钮在底部的高度最小,您可能需要 BorderLayout - 将按钮设置在底部 space 应该按照您的描述进行。