在 Firestore Flutter 中存储和检索颜色
Store and retrieve colors in firestore flutter
我希望能够在 firestore 中存储和使用用户选择的文本和背景颜色。我已经尝试将它们存储为字符串和整数,但我 运行 遇到的问题是尝试在 Color() 中使用 future< int> 不被接受并且 future< String> 在“颜色: " 参数.
现在我正在获取十六进制值并将其存储在 firestore 中:
String hexColor() {
late String c;
if (BayTextColorController.selected.value == "Amber") {
c = '0xFFFFAB40';
} else if (BayTextColorController.selected.value == "Black") {
c = '0xFF000000';
}
return c;
}
我是如何尝试使用整数的:
Future<int> bay56TextColor(DocumentSnapshot snapshot) async {
String s = await snapshot.get('bay56TextColor');
late int c = int.parse(s);
return c;
}
我正在尝试为用户提交的来自这个未来构建器的文本着色:
FutureBuilder<dynamic>(
future: bay56(snapshot.data!),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text(
' ' + snapshot.data.toString() + ' ',
style: TextStyle(
color: Colors.black, //Color goes here
backgroundColor: Colors.white)); //and here
}
有没有办法将多个 futures 合并到一个 future builder 中?
我应该注意,我的文本来自一个字段,我将颜色保存在同一文档的另一个字段中。
以此格式存储颜色。
#FF6F00
使用此方法获取颜色
class HexColor extends Color {
static int _getColorFromHex(String hexColor) {
hexColor = hexColor.toUpperCase().replaceAll("#", "");
if (hexColor.length == 6) {
hexColor = "FF" + hexColor;
}
return int.parse(hexColor, radix: 16);
}
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
例子
color: HexColor(color code is here)
我希望能够在 firestore 中存储和使用用户选择的文本和背景颜色。我已经尝试将它们存储为字符串和整数,但我 运行 遇到的问题是尝试在 Color() 中使用 future< int> 不被接受并且 future< String> 在“颜色: " 参数.
现在我正在获取十六进制值并将其存储在 firestore 中:
String hexColor() {
late String c;
if (BayTextColorController.selected.value == "Amber") {
c = '0xFFFFAB40';
} else if (BayTextColorController.selected.value == "Black") {
c = '0xFF000000';
}
return c;
}
我是如何尝试使用整数的:
Future<int> bay56TextColor(DocumentSnapshot snapshot) async {
String s = await snapshot.get('bay56TextColor');
late int c = int.parse(s);
return c;
}
我正在尝试为用户提交的来自这个未来构建器的文本着色:
FutureBuilder<dynamic>(
future: bay56(snapshot.data!),
builder: (context, snapshot) {
if (snapshot.hasData) {
return Text(
' ' + snapshot.data.toString() + ' ',
style: TextStyle(
color: Colors.black, //Color goes here
backgroundColor: Colors.white)); //and here
}
有没有办法将多个 futures 合并到一个 future builder 中?
我应该注意,我的文本来自一个字段,我将颜色保存在同一文档的另一个字段中。
以此格式存储颜色。
#FF6F00
使用此方法获取颜色
class HexColor extends Color {
static int _getColorFromHex(String hexColor) {
hexColor = hexColor.toUpperCase().replaceAll("#", "");
if (hexColor.length == 6) {
hexColor = "FF" + hexColor;
}
return int.parse(hexColor, radix: 16);
}
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
例子
color: HexColor(color code is here)