Cutomize размер строки макета сетки - PullRequest
1 голос
/ 14 марта 2020

Я пытаюсь создать сетку со строками, в которых первая строка представляет собой 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()

Но окно результатов, похоже, делит пополам высоту для каждой строки:

result window

Как изменить высоту второго ряда?

1 Ответ

2 голосов
/ 14 марта 2020

GridLayout разработан для того, чтобы все элементы имели одинаковый размер. Если вы хотите, чтобы кнопки были минимальной высоты в нижней части, вы, вероятно, хотите вместо этого BorderLayout - установка кнопок в нижнее пространство должна делать то, что вы описываете.

...