我有与我的API通信的应用。我需要在flutter应用程序中选择MaterialColor并将其发送到我的API,然后再从API获取它并在应用程序中使用它。当我将其发送到我的API时,它看起来像这样,MaterialColor(primary value: Color(0xff4caf50))
但是以后不能使用,因为无法将这样的String转换为Color。
有没有简单的方法可以重用发送到API的颜色?
先感谢您。
试试这个,对我有用。
首先创建隐式十六进制到材料颜色的类
class HexColor extends Color {
static int _getColorFromHex(String hexColor) {
return int.parse(hexColor, radix: 16);
}
HexColor(final String hexColor) : super(_getColorFromHex(hexColor));
}
将材料颜色转换为十六进制并发送到您的API
Color materialColor = Colors.blue;
print(materialColor); //MaterialColor(primary value: Color(0xff2196f3))
final hexColor = materialColor.value.toRadixString(16); //convert to hex
//send this value hexColor to your server
......
print(hexColor); // ff2196f3
//how to covert back to material color
print(HexColor(hexColor)); //Color(0xff2196f3)
如何使用/ example从API获取颜色
Container(
height:300,
width:300,
color:HexColor(<color_from_API>),
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句