如何为 fyne UI 应用程序添加填充、字体大小和颜色

How to add padding, font size and colours to fyne UI app

下面是我使用 fyne 工具包实现的 UI 示例应用程序代码,无法弄清楚如何将按钮向左对齐、使顶部文本变大以及添加颜色。

我尝试创建一个自定义主题来实现我需要的 UI 功能,但我对 fyne 工具包的 godoc 缺乏了解。有没有人可以指点我来完成这项工作?或者给我一些建议,因为工具包的文档很少

这是我的示例应用程序代码

package main

import (
    "fyne.io/fyne"
    "fyne.io/fyne/app"
    "fyne.io/fyne/layout"
    "fyne.io/fyne/theme"
    "fyne.io/fyne/widget"
)

func main() {
    a := app.New()
    a.Settings().SetTheme(theme.LightTheme())
    w := a.NewWindow("myapp")
    w.Resize(fyne.NewSize(340, 600))
    w.SetContent(widget.NewVBox(
        widget.NewLabelWithStyle("myApp version1", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}),
        widget.NewLabelWithStyle("Welcome to \n myAPp", fyne.TextAlignLeading, fyne.TextStyle{Bold: true}),
        layout.NewSpacer(),
        widget.NewButton("Register", func() {
            a.Quit()
        }),
        widget.NewButton("Login", func() {
            a.Quit()
        }),
    ))
    w.ShowAndRun()
}

要以不同方式对齐按钮,您需要使用不同的布局(VBox 使用 Box 布局)。

无法更改标准小部件的颜色和大小。您可以在自定义主题中指定不同的文本颜色或大小,但它会应用于所有组件。 如果您希望屏幕上的元素不符合主题,您可以使用“canvas”包,因为它处理较低级别的元素。例如 canvas.Text 可以是任何尺寸或颜色。

您不能开箱即用,但可以使用 Fyne 的 canvas。示例:

带有颜色的标签:

label := canvas.NewText("Hello world", color.White)

不同字体大小的标签:

label := canvas.NewText("Hello world", color.White)
label.TextSize = 50

与垂直框右对齐:

layout := fyne.NewContainerWithLayout(
    layout.NewVBoxLayout(),
    layout.NewSpacer(),
    widget.NewLabel("Hello world"),
)