Renklerin Xamarin.Forms
Yapı Color renkleri Kırmızı-Yeşil-Mavi (RGB) değerleri, Hue-Saturation-Luminosity (HSL) değerleri, Hue-Doygunluk-Değer (HSV) değerleri veya bir renk adıyla belirtmenize olanak sağlar. Saydamlığı göstermek için bir Alfa kanalı da kullanılabilir.
Colornesneleri, Color Xamarin_Forms Color _Color__ctor_System_Double_" data-linktype="absolute-path">gri gölge , Xamarin_Forms Color _Color__ctor_System_Double_System_Double_System_Double_" data-linktype="absolute-path">RGB değeri veya saydamlık ile bir Xamarin_Forms _Color__ctor_System_Double_System_Double_System_Double_System_Double_" data-linktype="absolute-path">RGB değeri belirtmek için kullanılmaktadır oluşturucularla oluşturulabilir . Her durumda bağımsız değişkenler double 0 ile 1 arasında değişen değerlerdir.
Nesneleri oluşturmak için statik yöntemler de Color kullanabilirsiniz:
- _Color_FromRgb_System_Double_System_Double_System_Double_" data-linktype="absolute-path">rgb değerleri için 0 ile
Color.FromRgbdouble1 arasında. - Xamarin_Forms _Color_FromRgb_System_Int32_System_Int32_System_Int32_ 0 ile 255 arasında tamsayı RGB değerleri için "data-linktype="absolute-path">".
Color.FromRgb - Xamarin_Forms _Color_FromRgba_System_Double_System_Double_System_Double_System_Double_" data-linktype="absolute-path">
Color.FromRgbaRGB değerleri içindoublesaydamlık. - Xamarin_Forms _Color_FromRgba_System_Int32_System_Int32_System_Int32_System_Int32_" data-linktype="absolute-path">rgb değerleri için
Color.FromRgbasaydamlık. - Xamarin_Forms _Color_FromHsla_System_Double_System_Double_System_Double_System_Double_" data-linktype="absolute-path">
Color.FromHsladoubleHSL değerleri için saydamlık. - Xamarin_Forms _Color_FromHsv_System_Double_System_Double_System_Double_ 0 ile 1 arasında
Color.FromHsvdoubleHSV değerleri için data-linktype="absolute-path">". - Xamarin_Forms _Color_FromHsv_System_Int32_System_Int32_System_Int32_ 0 ile
Color.FromHsv255 arasında tamsayı HSV değerleri için "data-linktype="absolute-path">". - Xamarin_Forms _Color_FromHsva_System_Double_System_Double_System_Double_System_Double_" data-linktype="absolute-path">
Color.FromHsvadoubleHSV değerleri için saydamlık. - Xamarin_Forms _Color_FromHsva_System_Int32_System_Int32_System_Int32_System_Int32_ tam sayı
Color.FromHsvaHSV değerleri için "data-linktype="absolute-path">". - Xamarin_Forms _Color_FromUint_System_UInt32_ "data-linktype="absolute-path">(
Color.FromUintBuint+ 256 * (G + 256 * (R + 256 * A)) ) olarak hesaplanan bir değer için. - Xamarin_Forms _Color_FromHex_System_String_" data-linktype="absolute-path">biçimindeki onaltılık basamakların biçimi için "#AARRGGBB" veya "#RRGGBB" ya da "#ARGB" ya da "#RGB" biçimindedir ve her harf alfa, kırmızı, yeşil ve mavi kanallar için onaltılık bir basamama karşılık
Color.FromHexstringgeldiği "#RGB".
Bir nesne Color oluşturulduktan sonra sabittir. Rengin özellikleri aşağıdaki özelliklerden elde edilir:
- Xamarin_Forms _Color_R" data-linktype="absolute-path">, rengin
Rkırmızı kanalını temsil eder. - Xamarin_Forms _Color_G" data-linktype="absolute-path">, rengin
Gyeşil kanalını temsil eder. - Xamarin_Forms _Color_B" data-linktype="absolute-path">, rengin mavi
Bkanalını temsil eder. - Xamarin_Forms _Color_A" data-linktype="absolute-path">, rengin alfa
Akanalını temsil eder. - Xamarin_Forms _Color_Hue" data-linktype="absolute-path">, rengin
Hueton kanalını temsil eder. - Xamarin_Forms _Color_Saturation doygunluk kanalını temsil eden "data-linktype="absolute-path">
Saturation. - Xamarin_Forms _Color_Luminosity" data-linktype="absolute-path">,
Luminosityrengin renk parlaklığı kanalını temsil eder.
Bu özellikler double 0 ile 1 arasında değişen tüm değerlerdir.
Adlandırılmış renkler
Yapı, Color gibi yaygın renkler için 240 genel statik salt okunur alanı da AliceBlue tanımlar.
Color.Accent
Xamarin_Forms _Color_Accent" data-linktype="absolute-path">değeri, koyu veya açık bir arka planda görünen platforma özgü (ve bazen kullanıcı tarafından seçilebilir) bir renge Color.Accent neden olur.
Color.Default
Xamarin_Forms _Color_Default" data-linktype="absolute-path">değeri, tüm kanalların -1 olarak ayarladığı bir değerini tanımlar ve platformun renk düzenini Color.DefaultColor zorlamaya yöneliktir. Sonuç olarak, farklı platformlarda farklı bağlamlarda farklı bir anlamı vardır. Platform renk düzenleri varsayılan olarak şöyledir:
- iOS: açık arka plan üzerinde koyu metin.
- Android: açık arka plan üzerinde koyu metin.
- Windows: açık arka plan üzerinde koyu metin.
Color.Transparent
değeri, Color.Transparent tüm Color kanalların sıfır olarak ayarladığı bir tanımlar.
Rengi değiştirme
Çeşitli örnek yöntemleri, mevcut bir rengi değiştirerek yeni bir renk oluşturmanızı sağlar:
- Xamarin_Forms _Color_AddLuminosity_System_Double_" data-linktype="absolute-path">, sağlanan delta tarafından renk parlaklığı değiştirerek bir
AddLuminosityColordöndürür. - Xamarin_Forms _Color_MultiplyAlpha_System_Double_" data-linktype="absolute-path">, alfayı değiştirerek ve bunu sağlanan alfa değeriyle çarparak
MultiplyAlphaColordöndürür. ToHex, bir 'nin onaltılıkstringgösteriminiColordöndürür.- Xamarin_Forms _Color_WithHue_System_Double_" data-linktype="absolute-path">, ton değerini sağlanan değerle değiştirerek
WithHueColorbir döndürür. - Xamarin_Forms _Color_WithLuminosity_System_Double_" data-linktype="absolute-path">, renk parlaklığı sağlanan değerle değiştirerek
WithLuminosityColorbir döndürür. - Xamarin_Forms _Color_WithSaturation_System_Double_" data-linktype="absolute-path">, doygunluğu sağlanan
WithSaturationColordeğerle değiştirerek bir döndürür.
Örtülü dönüştürmeler
ve türleri arasında örtülü Xamarin.Forms.ColorSystem.Drawing.Color dönüştürme yapılabilir:
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;
Örnekler
XAML'de renklere genellikle adlandırılmış değerleri kullanılarak veya Bunların Hex gösterimleri kullanılarak başvurur:
<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" />
Not
XAML derlemesi kullanırken, renk adları büyük/küçük harfe duyarlı değildir ve bu nedenle küçük harfle yazılmalıdır. XAML derlemesi hakkında daha fazla bilgi için bkz. XAML Derlemesi.
C# ile renklere genellikle adlandırılmış değerleri kullanılarak veya statik yöntemleriyle başvurur:
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) };
Aşağıdaki örnekte işaretleme OnPlatform uzantısını kullanarak bir rengini seçmeli olarak ActivityIndicator ayarlayın:
<ActivityIndicator Color="{OnPlatform iOS=Black, Default=Default}"
IsRunning="True" />
Eşdeğer C# kodu şöyledir:
ActivityIndicator activityIndicator = new ActivityIndicator
{
Color = Device.RuntimePlatform == Device.iOS ? Color.Black : Color.Default,
IsRunning = true
};
Örneği indirme