Barvy v Xamarin.Forms
ColorStruktura vám umožní určit barvy jako hodnoty červené barvy (RGB), hodnoty odstín a sytost (HSL), hodnoty odstín a sytost-hodnota (HSV), nebo s názvem barvy. Pro indikaci transparentnosti je k dispozici také alfa kanál.
Colorobjekty lze vytvořit pomocí Color konstruktorů, které lze použít k určení Xamarin_Forms Color _Color__ctor_System_Double_ "data-LINKTYPE =" absolutní cestu ">šedý odstín , Xamarin_Forms Color _Color__ctor_System_Double_System_Double_System_Double_" data-linktype = "absolutní cesta" >hodnota RGB nebo Xamarin_Forms _Color__ctor_System_Double_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cesta ">hodnota RGB s průhledností . Ve všech případech jsou argumenty double hodnoty v rozsahu od 0 do 1.
Pro vytváření objektů můžete použít také statické metody Color :
- _Color_FromRgb_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cesta ">
Color.FromRgbprodoublehodnoty RGB z 0 do 1. - Xamarin_Forms _Color_FromRgb_System_Int32_System_Int32_System_Int32_ "data-LINKTYPE =" absolutní cesta ">
Color.FromRgbpro hodnoty typu Integer RGB od 0 do 255. - Xamarin_Forms _Color_FromRgba_System_Double_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cesta ">
Color.FromRgbaprodoublehodnoty RGB s transparentností. - Xamarin_Forms _Color_FromRgba_System_Int32_System_Int32_System_Int32_System_Int32_ "data-LINKTYPE =" absolutní cesta ">
Color.FromRgbapro hodnoty typu Integer RGB s průhledností. - Xamarin_Forms _Color_FromHsla_System_Double_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cestu ">
Color.FromHslaprodoublehodnoty HSL s transparentností. - Xamarin_Forms _Color_FromHsv_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cesta ">
Color.FromHsvprodoublehodnoty HSV od 0 do 1. - Xamarin_Forms _Color_FromHsv_System_Int32_System_Int32_System_Int32_ "data-LINKTYPE =" absolutní cesta ">
Color.FromHsvceločíselných hodnot HSV z 0 do 255. - Xamarin_Forms _Color_FromHsva_System_Double_System_Double_System_Double_System_Double_ "data-LINKTYPE =" absolutní cesta ">
Color.FromHsvaprodoublehodnoty HSV s transparentností. - Xamarin_Forms _Color_FromHsva_System_Int32_System_Int32_System_Int32_System_Int32_ "data-LINKTYPE =" absolutní cesta ">
Color.FromHsvahodnoty celočíselného HSV s průhledností. - Xamarin_Forms _Color_FromUint_System_UInt32_ "data-LINKTYPE =" absolutní cestu ">
Color.FromUintprouinthodnotu vypočítanou jako (B + 256 × (G + 256 * (R + 256 * a))). - Xamarin_Forms _Color_FromHex_System_String_ "data-LINKTYPE =" absolutní cesta ">
Color.FromHexstringFormát hexadecimálních číslic ve formátu" #AARRGGBB "nebo" #RRGGBB "nebo" #ARGB ", kde každé písmeno odpovídá hexadecimální číslici pro alfa, Red, zelený a modrý kanál.
Po vytvoření Color je objekt neměnný. Vlastnosti barvy lze získat z následujících vlastností:
- Xamarin_Forms _Color_R "data-LINKTYPE =" absolutní cestu ">
R, která představuje červený kanál barvy. - Xamarin_Forms _Color_G "data-LINKTYPE =" absolutní cestu ">
G, která představuje zelený kanál barvy. - Xamarin_Forms _Color_B "data-LINKTYPE =" absolutní cestu ">
B, která představuje modrý kanál barvy. - Xamarin_Forms _Color_A "data-LINKTYPE =" absolutní cestu ">
A, která představuje kanál alfa barvy. - Xamarin_Forms _Color_Hue "data-LINKTYPE =" absolutní cestu ">
Hue, která představuje kanál odstínu barvy. - Xamarin_Forms _Color_Saturation "data-LINKTYPE =" absolutní cestu ">
Saturation, která představuje kanál sytosti barvy. - Xamarin_Forms _Color_Luminosity "data-LINKTYPE =" absolutní cestu ">
Luminosity, která představuje kanál světelnosti barvy.
Tyto vlastnosti jsou všechny double hodnoty od 0 do 1.
Pojmenované barvy
ColorStruktura také definuje 240 veřejných statických polí jen pro čtení pro běžné barvy, jako je například AliceBlue .
Color. akcent
Xamarin_Forms _Color_Accent "data-LINKTYPE =" absolutní cesta ">value má Color.Accent za následek určitou barvu specifickou pro platformu (a někdy uživatelsky vybranou), která je viditelná buď na tmavém, nebo na světlém pozadí.
Color. Default
Xamarin_Forms _Color_Default "data-LINKTYPE =" absolutní cesta ">Color.Default Value definuje a má Color všechny kanály nastavené na hodnotu-1 a je určena k vymáhání barevného schématu platformy. V důsledku toho má jiný význam v různých kontextech na různých platformách. Ve výchozím nastavení jsou barevná schémata platformy:
- iOS: tmavý text na světlém pozadí.
- Android: tmavý text na světlém pozadí.
- Windows: tmavý text na světlém pozadí.
Color. Transparent
Color.TransparentHodnota definuje Color se všemi kanály nastavenými na hodnotu nula.
Úprava barvy
Několik metod instancí povoluje úpravu stávající barvy pro vytvoření nové barvy:
- Xamarin_Forms _Color_AddLuminosity_System_Double_ "data-LINKTYPE =" absolutní cestu ">
AddLuminosityvrací aColorúpravou světelnosti zadanou rozdílovou hodnotu. - Xamarin_Forms _Color_MultiplyAlpha_System_Double_ "data-LINKTYPE =" absolutní cesta ">
MultiplyAlphavrací aColorúpravou hodnoty alfa, vynásobenou zadanou hodnotou alfa. ToHexVrátí hexadecimálnístringreprezentaciColor.- Xamarin_Forms _Color_WithHue_System_Double_ "data-LINKTYPE =" absolutní cestu ">
WithHuevrátí aColornahrazuje odstín hodnotou poskytnutou hodnotou. - Xamarin_Forms _Color_WithLuminosity_System_Double_ "data-LINKTYPE =" absolutní cestu ">
WithLuminosityvrátí aColornahrazuje světlost zadanou hodnotou. - Xamarin_Forms _Color_WithSaturation_System_Double_ "data-LINKTYPE =" absolutní cestu ">
WithSaturationvrátí aColornahrazuje sytost zadanou hodnotou.
Implicitní převody
Je možné provést implicitní převod mezi Xamarin.Forms.ColorSystem.Drawing.Color typy a:
Xamarin.Forms.Color xfColor = Xamarin.Forms.Color.FromRgb(0, 72, 255);
System.Drawing.Color sdColor = System.Drawing.Color.FromArgb(38, 127, 0);
// Implicity convert from a Xamarin.Forms.Color to a System.Drawing.Color
System.Drawing.Color sdColor2 = xfColor;
// Implicitly convert from a System.Drawing.Color to a Xamarin.Forms.Color
Xamarin.Forms.Color xfColor2 = sdColor;
Příklady
V jazyce XAML jsou barvy obvykle odkazovány pomocí jejich pojmenovaných hodnot nebo s jejich šestnáctkovými reprezentacemi:
<Label Text="Sea color"
TextColor="Aqua" />
<Label Text="RGB"
TextColor="#00FF00" />
<Label Text="Alpha plus RGB"
TextColor="#CC00FF00" />
<Label Text="Tiny RGB"
TextColor="#0F0" />
<Label Text="Tiny Alpha plus RGB"
TextColor="#C0F0" />
Poznámka
Při použití kompilace XAML se v názvech barev rozlišuje malá a velká písmena, proto je lze zapsat malými písmeny. Další informace o kompilaci XAML naleznete v tématu kompilace XAML.
V jazyce C# jsou barvy obvykle odkazovány pomocí jejich pojmenovaných hodnot nebo pomocí jejich statických metod:
Label red = new Label { Text = "Red", TextColor = Color.Red };
Label orange = new Label { Text = "Orange", TextColor = Color.FromHex("FF6A00") };
Label yellow = new Label { Text = "Yellow", TextColor = Color.FromHsla(0.167, 1.0, 0.5, 1.0) };
Label green = new Label { Text = "Green", TextColor = Color.FromRgb (38, 127, 0) };
Label blue = new Label { Text = "Blue", TextColor = Color.FromRgba(0, 38, 255, 255) };
Label indigo = new Label { Text = "Indigo", TextColor = Color.FromRgb (0, 72, 255) };
Label violet = new Label { Text = "Violet", TextColor = Color.FromHsla(0.82, 1, 0.25, 1) };
Následující příklad používá OnPlatform rozšíření značek k selektivnímu nastavení barvy prvku ActivityIndicator :
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Ekvivalentní kód jazyka C#:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};
Stažení ukázky