我试图在 Flutter 的 HIVE 数据库中将 FontStyle 值和 FontWeight 值存储为字符串值。但是,在获取值时,我面临无法将 String 值转换为 FontStyle 或 FontWeight 值的问题。我可以使用 If 语句并实现它,但有没有办法将字符串“FontStyle.italic”转换为 FontStyle.italic?
问问题
87 次
1 回答
0
FontStyle
是 type enum
,因此默认情况下你不能有一个整数等价。但是,由于FontStyle
只有 2 个常量名称normal
和italic
,因此您可以创建自己的整数等效项。例如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 回答