Renklerin Xamarin.Forms

Örneği İndir Örneği indirme

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:

Bir nesne Color oluşturulduktan sonra sabittir. Rengin özellikleri aşağıdaki özelliklerden elde edilir:

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:

Ö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
};