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

Rob*_*man 3 go fyne

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

我尝试创建一个自定义主题来实现我需要的 UI 功能,但我对工具包的 godocfyne缺乏理解。有没有人可以指点我来完成这项工作?或为我提供一些指示,因为该工具包的文档记录很少

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

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()
}
Run Code Online (Sandbox Code Playgroud)

joz*_*ozo 8

您无法开箱即用地执行这些操作,但您可以使用Fyne 的画布。例子:

带有颜色的标签:

label := canvas.NewText("Hello world", color.White)
Run Code Online (Sandbox Code Playgroud)

具有不同字体大小的标签:

label := canvas.NewText("Hello world", color.White)
label.TextSize = 50
Run Code Online (Sandbox Code Playgroud)

与 VBox 右对齐:

layout := fyne.NewContainerWithLayout(
    layout.NewVBoxLayout(),
    layout.NewSpacer(),
    widget.NewLabel("Hello world"),
)
Run Code Online (Sandbox Code Playgroud)