Xamarin.Forms Štětce: Plné barvy

Download Sample Stažení ukázky

Třída SolidColorBrush je odvozena od Brush třídy a slouží k malování oblasti plnou barvou. Existují různé přístupy k určení barvy SolidColorBrush. Můžete například zadat jeho barvu s Color hodnotou nebo pomocí některého z předdefinovaných SolidColorBrush objektů poskytovaných Brush třídou.

Třída SolidColorBrush definuje Color vlastnost typu Color, která představuje barvu štětce. Tato vlastnost je podporována objektem BindableProperty , což znamená, že to může být cíl datových vazeb a styl.

Třída SolidColorBrush má také metodu IsEmpty , která vrací bool , který představuje, zda byl štětec přiřazen barvu.

Vytvoření SolidColorBrush

Existují tři hlavní techniky pro vytvoření SolidColorBrush. Můžete vytvořit SolidColorBrush z Colorpředdefinovaného štětce nebo vytvořit šestnáctkový SolidColorBrush zápis.

Použití předdefinované barvy

Xamarin.Forms obsahuje převaděč typů, který vytvoří SolidColorBrush z Color hodnoty. V jazyce XAML to umožňuje SolidColorBrush vytvoření z předdefinované Color hodnoty:

<Frame Background="DarkBlue"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />

V tomto příkladu Frame je pozadí malované tmavě modrým SolidColorBrush:

Frame painted with a predefined Color

Color Případně můžete hodnotu zadat pomocí syntaxe značek vlastností:

<Frame BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120">
       <Frame.Background>
           <SolidColorBrush Color="DarkBlue" />
       </Frame.Background>
</Frame>

V tomto příkladu Frame se pozadí maluje pomocí SolidColorBrush barvy, jejíž barva je určena nastavením SolidColorBrush.Color vlastnosti.

Použití předdefinovaného štětce

Třída Brush definuje sadu běžně používaných SolidColorBrush objektů. Následující příklad používá jeden z těchto předdefinovaných SolidColorBrush objektů:

<Frame Background="{x:Static Brush.Indigo}"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />       

Ekvivalentní kód jazyka C# je:

Frame frame = new Frame
{
    Background = Brush.Indigo,
    BorderColor = Color.LightGray,
    // ...
};

V tomto příkladu Frame je pozadí malováno indigo SolidColorBrush:

Frame painted with a predefined SolidColorBrush

Seznam předdefinovaných SolidColorBrush objektů poskytovaných Brush třídou naleznete v tématu Plné barevné štětce.

Použití šestnáctkového zápisu

SolidColorBrush Objekty lze také vytvořit pomocí šestnáctkového zápisu. Při použití tohoto přístupu je barva určena z hlediska množství červené, zelené a modré, aby se sloučí do jedné barvy. Hlavní formát pro určení barvy pomocí šestnáctkového zápisu je #rrggbb, kde:

  • rr je dvouciferné šestnáctkové číslo určující relativní množství červené.
  • gg je dvouciferné šestnáctkové číslo určující relativní množství zeleného čísla.
  • bb je dvouciferné šestnáctkové číslo určující relativní velikost modré.

Kromě toho lze barvu zadat tak, jak #aarrggbbaa určuje alfa hodnotu nebo průhlednost barvy. Tento přístup umožňuje vytvářet barvy, které jsou částečně průhledné.

Následující příklad nastaví hodnotu barvy pomocí šestnáctkové notace SolidColorBrush :

<Frame Background="#FF9988"
       BorderColor="LightGray"
       HasShadow="True"
       CornerRadius="12"
       HeightRequest="120"
       WidthRequest="120" />

V tomto příkladu Frame je pozadí malované s lososem barevným SolidColorBrush:

Frame painted with a SolidColorBrush created using hexadecimal notation

Další způsoby popisu barvy naleznete v tématu Barvy v Xamarin.Forms.

Štětce plnou barvou

Pro usnadnění práce třída Brush poskytuje sadu běžně používaných SolidColorBrush objektů, například AliceBlue a YellowGreen. Následující obrázek znázorňuje barvu každého předdefinovaného štětce, jeho názvu a šestnáctkové hodnoty:

Color table including a color swatch, color name, and hexadecimal value