Fyne 布局中的填充

我正在尝试使用 Fyne ( https://fyne.io/ )设置应用程序布局,但我遇到了一些问题;这是我的代码:


func main() {

    myApp := app.New()

    myWindow := myApp.NewWindow("Demo")

    myWindow.SetMaster()

    myWindow.SetPadded(false)

    myWindow.Resize(fyne.NewSize(1024, 600))

    //myWindow.SetFullScreen(true)


    r1 := canvas.NewRectangle(color.RGBA{255, 0, 0, 255})

    r1.SetMinSize(fyne.NewSize(1024, 110))

    top := fyne.NewContainerWithLayout(layout.NewMaxLayout(), r1)


    r2 := canvas.NewRectangle(color.RGBA{0, 255, 0, 255})

    r2.SetMinSize(fyne.NewSize(1024, 400))

    middle := fyne.NewContainerWithLayout(layout.NewMaxLayout(), r2)

    message := widget.NewLabel("message")

    messageWrap := fyne.NewContainerWithLayout(layout.NewCenterLayout(), message)

    middle.AddObject(messageWrap)


    r3 := canvas.NewRectangle(color.RGBA{255, 0, 255, 255})

    r3.SetMinSize(fyne.NewSize(1024, 55))

    bottom := fyne.NewContainerWithLayout(layout.NewMaxLayout(), r3)

    data := widget.NewLabel("data")

    dataWrap := fyne.NewContainerWithLayout(layout.NewCenterLayout(), data)

    ua := widget.NewLabel("ua")

    uaWrap := fyne.NewContainerWithLayout(layout.NewCenterLayout(), ua)

    bottomWrap := fyne.NewContainerWithLayout(layout.NewBorderLayout(nil, nil, dataWrap, uaWrap), dataWrap, uaWrap)

    bottom.AddObject(bottomWrap)


    content := fyne.NewContainerWithLayout(layout.NewBorderLayout(top, bottom, nil, nil), top, bottom, middle)

    myWindow.SetContent(content)


    myWindow.ShowAndRun()

}

这是输出:

http://img2.mukewang.com/628b308b0001127d20461239.jpg

我是这个库的新手,我发现很难理解它是如何工作的;我需要删除布局中 , 和 块top之间middle的“填充”;bottom有没有办法做到这一点?



芜湖不芜
浏览 298回答 1
1回答

天涯尽头无女友

您正在使用 BorderLayout,此布局(与大多数内置布局一样)在元素之间添加填充,没有布局配置可以将其关闭。你有两个选择:传入您自己的布局,可以完全按照您的意愿移动和调整元素的大小设置一个自定义主题,其中填充设置为 0(不建议)。您会发现该库对小部件和布局的工作方式持固执己见。它强加的一件事是每个标准布局都用填充分隔每个元素。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go