如何在xamarin.from中将字符串转换为颜色,有没有Color.fromName方法?
string colorStr = "Blue";
BoxView objBoxView = new BoxView
{
HeightRequest = double.Parse(HeightRequest),
HorizontalOptions = LayoutOptions.Fill,
VerticalOptions = LayoutOptions.End,
BackgroundColor = colorStr
};
使用ColorTypeConverter的一些示例,其中包含来自Xamarin.Forms github中ColorUnitTests.cs中的测试TestColorTypeConverter的字符串值:
var input = new[]
{
"blue", "Blue", "Color.Blue", // by name
"#0000ff", "#00f", // by hex code
"#a00f", // by hex code with alpha
"rgb(0,0, 255)", "rgb(0,0, 300)", // by RGB
"rgba(0%,0%, 100%, .8)", // by RGB percent with alpha
"hsl(240,100%, 50%)", // by HSL
"hsla(240,100%, 50%, .8)", // by HSL with alpha
"Accent", // by Accent color
"Default", "#12345" // not a valid color
};
ColorTypeConverter converter = new ColorTypeConverter();
foreach (var str in input)
{
Color color = (Color)(converter.ConvertFromInvariantString(str));
Debug.WriteLine("{0} is {1} Color", str, color.IsDefault ? "not a" : "a");
}