Xamarin.Forms Pincéis: Cores sólidas
A SolidColorBrush
classe deriva da Brush
classe e é usada para pintar uma área com uma cor sólida. Há uma variedade de abordagens para especificar a cor de um SolidColorBrush
. Por exemplo, você pode especificar sua cor com um valor Color
ou usando um dos objetos SolidColorBrush
predefinidos fornecidos pela classe Brush
.
A classe SolidColorBrush
define a propriedade Color
, do tipo Color
, que representa a cor do pincel. Essa propriedade é apoiada por um BindableProperty
objeto, o que significa que ela pode ser o destino de associações de dados e estilizada.
A classe SolidColorBrush
também tem um método IsEmpty
que retorna um bool
que representa se o pincel foi atribuído a uma cor.
Criar um SolidColorBrush
Há três técnicas principais para criar um SolidColorBrush
. Você pode criar um SolidColorBrush
a partir de Color
, usar um pincel predefinido ou criar um SolidColorBrush
usando notação hexadecimal.
Usar uma cor predefinida
Xamarin.Forms Inclui um conversor de tipo que cria um SolidColorBrush
valor a partir de um Color
. Em XAML, isso permite que um SolidColorBrush
seja criado a partir de um valor Color
predefinido:
<Frame Background="DarkBlue"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Neste exemplo, a tela de fundo de Frame
é pintada com um SolidColorBrush
azul escuro:
Como alternativa, o valor Color
pode ser especificado usando a sintaxe da marca de propriedade:
<Frame BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120">
<Frame.Background>
<SolidColorBrush Color="DarkBlue" />
</Frame.Background>
</Frame>
Neste exemplo, a tela de fundo de Frame
é pintada com um SolidColorBrush
cuja cor é especificada definindo a propriedade SolidColorBrush.Color
.
Usar um Pincel predefinido
A classe Brush
define um conjunto de objetos SolidColorBrush
comumente usados. O exemplo a seguir usa um desses objetos SolidColorBrush
predefinidos:
<Frame Background="{x:Static Brush.Indigo}"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Este é o código C# equivalente:
Frame frame = new Frame
{
Background = Brush.Indigo,
BorderColor = Color.LightGray,
// ...
};
Neste exemplo, a tela de fundo de Frame
é pintada com um SolidColorBrush
índigo:
Para obter uma lista de objetos SolidColorBrush
predefinidos fornecidos pela classe Brush
, consulte Pincéis de cor sólida.
Usar notação hexadecimal
Objetos SolidColorBrush
também podem ser criados usando notação hexadecimal. Com essa abordagem, uma cor é especificada quanto à quantidade de vermelho, verde e azul a ser combinada em uma única cor. O formato principal para especificar uma cor usando notação hexadecimal é #rrggbb
, onde:
rr
é um número hexadecimal de dois dígitos que especifica a quantidade relativa de vermelho.gg
é um número hexadecimal de dois dígitos que especifica a quantidade relativa de verde.bb
é um número hexadecimal de dois dígitos que especifica a quantidade relativa de azul.
Além disso, uma cor pode ser especificada como #aarrggbb
em que aa
especifica o valor alfa ou a transparência da cor. Essa abordagem permite que você crie cores parcialmente transparentes.
O exemplo a seguir define o valor de cor de um SolidColorBrush
usando a notação hexadecimal:
<Frame Background="#FF9988"
BorderColor="LightGray"
HasShadow="True"
CornerRadius="12"
HeightRequest="120"
WidthRequest="120" />
Neste exemplo, a tela de fundo de Frame
é pintada com um SolidColorBrush
de cor salmão:
Para obter outras maneiras de descrever cores, consulte Cores em Xamarin.Forms.
Pincéis de cor sólida
Por conveniência, a classe Brush
fornece um conjunto de objetos SolidColorBrush
comumente usados, como AliceBlue
e YellowGreen
. A imagem a seguir mostra a cor de cada pincel predefinido, seu nome e seu valor hexadecimal: