为了账号安全,请及时绑定邮箱和手机立即绑定

Fyne 布局中的填充

Fyne 布局中的填充

Go
芜湖不芜 2022-05-23 14:57:50
我正在尝试使用 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()}这是输出:我是这个库的新手,我发现很难理解它是如何工作的;我需要删除布局中 , 和 块top之间middle的“填充”;bottom有没有办法做到这一点?
查看完整描述

1 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

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

你有两个选择:

  1. 传入您自己的布局,可以完全按照您的意愿移动和调整元素的大小

  2. 设置一个自定义主题,其中填充设置为 0(不建议)。

您会发现该库对小部件和布局的工作方式持固执己见。它强加的一件事是每个标准布局都用填充分隔每个元素。


查看完整回答
反对 回复 2022-05-23
  • 1 回答
  • 0 关注
  • 297 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信