【问题标题】:How to set the color in Xamarin forms with Style property with RGBA [duplicate]如何使用带有 RGBA 的 Style 属性在 Xamarin 表单中设置颜色 [重复]
【发布时间】:2018-10-18 19:37:56
【问题描述】:
如何使用带有 RGBA 的 Style 属性在 Xamarin 表单中设置颜色。尝试使用以下代码,但它不起作用。
<Setter Property="BackgroundColor" Value="RGBA(0,0,0,0.5)"></Setter>
如果我将值更改为十六进制或颜色,它可以工作。
<Setter Property="BackgroundColor" Value="#000000"></Setter>
【问题讨论】:
标签:
xamarin
xamarin.forms
【解决方案1】:
您可以使用颜色代码作为示例 #80100000。前两个十六进制值代表 alpha,其余六个字符是您的十六进制颜色代码。下面是不同的 alpha 值。
- 100% — FF
- 95% — F2
- 90% — E6
- 85% — D9
- 80% — 抄送
- 75% — 高炉
- 70% — B3
- 65% — A6
- 60% — 99
- 55% — 8C
- 50% — 80
- 45% — 73
- 40% — 66
- 35% — 59
- 30% — 4D
- 25% — 40
- 20% — 33
- 15% — 26
- 10% — 1A
- 5% — 0D
- 0% — 00
【解决方案2】:
我认为RGBA() 不是有效的 XAML 语法(如果我错了,请纠正我)。
在this Xamarin Forums thread 中可以找到您可能正在寻找的替代方案。在那里,StephaneDelcroix 建议使用:
<Color x:FactoryMethod="FromHex" x:Key="AlmostSilver">
<x:Arguments>
<x:String>#ffcccccc</x:String>
</x:Arguments>
</Color>
您可以修改它以满足您的需要。我会假设(虽然我没有尝试过)你会使用:
<Color x:FactoryMethod="FromRgba" x:Key="TransparentBlack">
<x:Arguments>
<x:Double>0.0</x:Double>
<x:Double>0.0</x:Double>
<x:Double>0.0</x:Double>
<x:Double>0.5</x:Double>
</x:Arguments>
</Color>