使用Xamarin在XAML中指定RGB颜色

Ras*_*sen 7 xaml xamarin xamarin.forms

我正在我的应用程序中创建一些应用程序样式,并希望通过键定义一些显式颜色.在WPF XAML中,我将创建一个SolidColorBrush来定义RGB/ARGB值.在Xamarin XAML中,我是否需要将其转换为十六进制以在XAML中定义相同的颜色?下面的代码片段来自WPF XAML.

<SolidColorBrush
    x:Key="blueColor">
    <SolidColorBrush.Color>
        <Color
            A="255"
            R="50"
            G="150"
            B="225" />
    </SolidColorBrush.Color>
</SolidColorBrush>
Run Code Online (Sandbox Code Playgroud)

Sus*_*ver 9

Xamarin.Forms提供跨平台Color类.

使用Xaml:

使用定义的颜色名称或此处显示的十六进制表示,也可以在Xaml中轻松引用颜色:

<Label Text="Sea color" BackgroundColor="Aqua" />
<Label Text="RGB" BackgroundColor="#00FF00" />
<Label Text="Alpha plus RGB" BackgroundColor="#CC00FF00" />
<Label Text="Tiny RGB" BackgroundColor="#0F0" />
<Label Text="Tiny Alpha plus RGB" BackgroundColor="#C0F0" />
Run Code Online (Sandbox Code Playgroud)

Color类提供了许多构建颜色实例的方法

  • 命名颜色 - 常见命名颜色的集合,包括红色,绿色和蓝色.
  • FromHex - 类似于HTML中使用的语法的字符串值,例如"00FF00".
  • 可以选择将Alpha指定为第一对字符("CC00FF00").
  • FromHsla - Hue,饱和度和光度双值,带有可选的alpha值(0.0-1.0).
  • FromRgb - 红色,绿色和蓝色int值(0-255).
  • FromRgba - 红色,绿色,蓝色和alpha int值(0-255).
  • FromUint - 设置一个表示argb的double值.

参考:在Xamarin.Forms中使用颜色

  • 是的,我也读了那部分,RGB 定义似乎不可用。所以我只需要转换为十六进制。 (2认同)

j.f*_*.f. 5

根据 Xamarin 的WorkingWithColors示例,您可以执行以下操作:

<Color
  x:Key="BlueColor">
  <x:Arguments>
    <x:Double>.4</x:Double> <!-- R/255 -->
    <x:Double>.62</x:Double> <!-- G/255 -->
    <x:Double>.95</x:Double> <!-- B/255 -->
    <x:Double>.2</x:Double> <!-- A: 0.0-1.0 -->
  </x:Arguments>
</Color>
Run Code Online (Sandbox Code Playgroud)

他们的示例没有显示 alpha 通道的使用,但我只是对其进行了测试,截至 2017 年 5 月 30 日,它似乎工作得很好。

但是,请注意,这似乎没有记录。与上述代码一起使用的Xamarin.Forms “颜色”指南也没有提及它,因此这可能会更改,恕不另行通知。