Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tato Color struktura umožňuje zadat barvy jako hodnoty Red-Green-Blue (RGB), hodnoty Hue-Saturation-Luminosity (HSL), hodnoty Hue-Saturation-Value (HSV) nebo s názvem barvy. K dispozici je také alfa kanál, který označuje průhlednost.
Color objekty lze vytvořit pomocí Color konstruktorů, které lze použít k určení šedého odstínu, hodnoty RGB nebo hodnoty RGB s průhledností. Ve všech případech jsou double argumenty hodnoty od 0 do 1.
K vytváření Color objektů můžete použít také statické metody:
Color.FromRgbprodoublehodnoty RGB od 0 do 1.Color.FromRgbpro celočíselné hodnoty RGB od 0 do 255.Color.FromRgbaprodoublehodnoty RGB s průhledností.Color.FromRgbapro celočíselné hodnoty RGB s průhledností.Color.FromHslaprodoublehodnoty HSL s průhledností.Color.FromHsvprodoublehodnoty HSV od 0 do 1.Color.FromHsvpro celočíselné hodnoty HSV od 0 do 255.Color.FromHsvaprodoublehodnoty HSV s průhledností.Color.FromHsvapro celočíselné hodnoty HSV s průhledností.Color.FromUintpro hodnotu vypočítanouuintjako (B + 256 * (G + 256 * (R + 256 * A))).Color.FromHexstringformát šestnáctkových číslic ve tvaru "#AARRGGBB" nebo "#RRGGBB" nebo "#ARGB" nebo "#RGB", kde každé písmeno odpovídá šestnáctkové číslici pro alfa, červenou, zelenou a modrou.
Po vytvoření Color je objekt neměnný. Vlastnosti barvy lze získat z následujících vlastností:
R, který představuje červený kanál barvy.G, který představuje zelený kanál barvy.B, který představuje modrý kanál barvy.A, který představuje alfa kanál barvy.Hue, který představuje kanál odstínu barvy.Saturation, který představuje sytost kanálu barvy.Luminosity, který představuje svítivost kanálu barvy.
Tyto vlastnosti jsou všechny double hodnoty od 0 do 1.
Pojmenované barvy
Struktura Color také definuje 240 veřejných statických polí jen pro čtení pro běžné barvy, například AliceBlue.
Color.Accent
Výsledkem Color.Accent hodnoty je barva specifická pro konkrétní platformu (a někdy se dá vybrat uživatelem), která je viditelná na tmavém nebo světlém pozadí.
Color.Default
Hodnota Color.Default definuje se všemi kanály Color nastavenými na -1 a je určená k vynucení 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
Hodnota Color.Transparent definuje všechny kanály nastavené na nulu Color .
Úprava barvy
Několik metod instance umožňuje úpravě existující barvy vytvořit novou barvu:
AddLuminosityColorvrátí hodnotu úpravou světelnosti zadaným rozdílem.MultiplyAlphavrátí hodnotuColorúpravou alfa a vynásobením zadanou alfa hodnotou.ToHexvrátí šestnáctkovéstringvyjádřeníColor.WithHuevrátí hodnotu ,Colornahrazení odstínu zadanou hodnotou.WithLuminosityColorvrátí hodnotu , která nahradí světelnost zadanou hodnotou.WithSaturationvrátí hodnotu ,Colornahrazení sytosti zadanou hodnotou.
Implicitní převody
Implicitní převod mezi typy Xamarin.Forms.Color a System.Drawing.Color typy lze provést:
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 se barvy obvykle odkazují pomocí 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 názvy barev nerozlišují malá a malá písmena, a proto je možné je zapsat malými písmeny. Další informace o kompilaci XAML naleznete v tématu Kompilace XAML.
V jazyce C# se barvy obvykle odkazují pomocí pojmenovaných hodnot nebo pomocí 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 ActivityIndicator:
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Ekvivalentní kód jazyka C# je:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};