0

我试图在 Flutter 的 HIVE 数据库中将 FontStyle 值和 FontWeight 值存储为字符串值。但是,在获取值时,我面临无法将 String 值转换为 FontStyle 或 FontWeight 值的问题。我可以使用 If 语句并实现它,但有没有办法将字符串“FontStyle.italic”转换为 FontStyle.italic?

4

1 回答 1

0

FontStyle是 type enum,因此默认情况下你不能有一个整数等价。但是,由于FontStyle只有 2 个常量名称normalitalic,因此您可以创建自己的整数等效项。例如normal将是 0 和italic将是 1。

例子:

// fontStyleInt is the int retreived from Hive (0 or 1)
int fontStyleInt;

// In the build
Text("Text", style: TextStyle(fontStyle: fontStyleInt == 0 ? FontStyle.normal : FontStyle.italic))
于 2021-01-11T20:53:08.813 回答