准备支持中文的 ttf 文件
ttf 字体可以从 https://www.fonts.net.cn/下载,或电脑本地获取
代码中嵌入 ttf 文件
import (
_ "embed"
)
//go:embed "Arial Unicode.ttf"
var ttfBytes []byte
使用 embed 嵌入 ttf 文件,路径能读取到就行
自定义主题
import (
"fyne.io/fyne/v2"
"image/color"
"fyne.io/fyne/v2/theme"
)
type MyTheme struct{}
func (MyTheme) Color(c fyne.ThemeColorName, v fyne.ThemeVariant) color.Color {
return theme.DefaultTheme().Color(c, v)
}
func (MyTheme) Font(s fyne.TextStyle) fyne.Resource {
return fyne.NewStaticResource("Arial Unicode.ttf", ttfBytes)
}
func (MyTheme) Icon(n fyne.ThemeIconName) fyne.Resource {
return theme.DefaultTheme().Icon(n)
}
func (MyTheme) Size(s fyne.ThemeSizeName) float32 {
return theme.DefaultTheme().Size(s)
}
设置主题
app := app.NewWithID("MyApp")
app.Settings().SetTheme(MyTheme{})
参考项目
git@github.com:lusingander/fyne-theme-generator.git