go - Fyne布局中的填充

标签 go layout 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()
}

这是输出:

enter image description here

我是这个图书馆的新手,我很难理解它的工作原理。我需要删除布局中topmiddlebottom块之间的“填充”;有没有办法做到这一点?

最佳答案

您正在使用BorderLayout,此布局(与大多数内置布局一样)在元素之间添加了填充,没有布局配置可将其关闭。

您有两种选择:

  • 传递自己的布局,以完全按照自己的意愿移动和调整元素的大小
  • 设置自定义主题,其中填充设置为0(不建议)。

  • 您会发现该库对窗口小部件和布局的工作方式持怀疑态度。它强加的一件事是,每个标准布局都使用填充分隔每个元素。

    关于go - Fyne布局中的填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60661694/

    相关文章:

    go - 是否可以打包 Fyne 应用程序并一步交叉编译所述应用程序?

    go - 如何在 Go 方法中调用/打开 URL?

    testing - 在 Go 中模拟 HTTPS 响应

    android - 空 View 以在其上添加任何内容

    java - Swing 重叠组件

    user-interface - 如何安装 opengl 才能运行

    string - 将一个int转成hex然后补0得到一个固定长度的String

    go - 如何修复 'constant x oveflows byte' 错误?

    android - setClickable() 不适用于按钮

    go - Fyne 列表小部件无法正确显示项目