我在下面使用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()
}
答案 0 :(得分:2)
要以不同方式对齐按钮,您将需要使用其他布局(VBox使用Box布局)。
无法更改标准小部件的颜色和大小。您可以在自定义主题中指定其他文本颜色或大小,但是它将应用于所有组件。 如果您希望屏幕上的元素与主题不符,则可以使用“画布”包,因为它可以处理较低级别的元素。例如canvas.Text可以是任何大小或颜色。
答案 1 :(得分:0)
您不能开箱即用地做这些事情,但是可以使用Fyne的 canvas 。例子:
带有颜色的标签:
label := canvas.NewText("Hello world", color.White)
具有不同字体大小的标签:
label := canvas.NewText("Hello world", color.White)
label.TextSize = 50
与VBox右对齐:
layout := fyne.NewContainerWithLayout(
layout.NewVBoxLayout(),
layout.NewSpacer(),
widget.NewLabel("Hello world"),
)