Xamarin.Forms - Device Styles - III |
Neste artigo vou mostrar como usar os estilos de dispositivos, Device Styles, em aplicações Xamarin Forms. |
No artigo anterior mostrei como usar estilos em uma aplicação Xamarin Forms usando StaticResource, vamos continuar apresentando os Estilos, abordando neste artigo a utilização de Device Styles ou estilos de dispositivos.
O Xamarin.Forms inclui seis estilos dinâmicos, conhecidos como estilos de dispositivo, ou Device Styles, na classe Device.Styles. São eles: BodyStyle, CaptionStyle, ListItemDetailTextStyle, ListItemTextStyle, SubtitleStyle e TitleStyle.
Todos os seis estilos só podem ser aplicados às instâncias de uma Label. Por exemplo, um rótulo que está exibindo o corpo de um parágrafo pode definir sua propriedade Style para BodyStyle.
Os device styles ou estilos de dispositivo estão vinculados ao uso da extensão de marcação DynamicResource. A aparência dos estilos do dispositivo é diferente em cada plataforma.
Os estilos de dispositivo também podem ser derivados ao definir a propriedade BaseResourceKey como o nome da chave para o estilo do dispositivo.
No exemplo que iremos
criar a seguir vamos definir um estilo chamdo
meuBodyEstilo que herda de BodyStyle e define
uma cor de texto como Blue e um BackgroundColor Yellow.
Usando Device Styles
Vamos usar o mesmo projeto criado no artigo anterior. Abra o arquivo App.xaml e inclua o código abaixo:
<?xml version="1.0" encoding="utf-8" ?>
<Application xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="XF_Estilos.App">
<Application.Resources>
<!-- Application resource dictionary -->
<ResourceDictionary>
<Style x:Key="meuBodyEstilo" TargetType="Label" BaseResourceKey="BodyStyle">
<Setter Property="TextColor" Value="Blue" />
<Setter Property="BackgroundColor" Value="Yellow" />
</Style>
</ResourceDictionary>
</Application.Resources>
</Application>
|
Agora abra o arquivo MainPage.xaml e inclua o código a seguir:
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:XF_Estilos"
x:Class="XF_Estilos.MainPage">
<ContentPage.Content>
<StackLayout Padding="0,20,0,0">
<Label Text="Estilo de Title" Style="{DynamicResource TitleStyle}" />
<Label Text="Estilo de texto de subtítulo" Style="{DynamicResource SubtitleTextStyle}" />
<Label Text="Estilo de Body" Style="{DynamicResource BodyStyle}" />
<Label Text="Estilo de Caption" Style="{DynamicResource CaptionStyle}" />
<Label Text="Estilo de texto de detalhe de item de Listview" Style="{DynamicResource ListItemDetailTextStyle}" />
<Label Text="Estilo de texto de item de Listview" Style="{DynamicResource ListItemTextStyle}" />
<Label Text="sem estilo" />
<Label Text="MeuBodyStyle" Style="{StaticResource meuBodyStyle}" />
</StackLayout>
</ContentPage.Content>
</ContentPage>
|
|
Neste código estamos usando cada um dos estilos de dispositivos : TitleStyle, SubtitleTextStyle, BodyStyle, CaptionStyle, ListItemDetailTextStyle e ListItemTextStyle. Observe que cada um desses estilos é usado com DynamicResource.
Estamos usando ainda o estilo definido pelo identificador meuBodyStyle que herda de BodyStyle.
Os
estilos do dispositivo respeitam as preferências de acessibilidade, então o
tamanho das fontes mudará à medida que as preferências de acessibilidade são
alteradas em cada plataforma.
Portanto, para suportar texto acessível, assegure-se de que os estilos do
dispositivo sejam usados como base para qualquer estilo de texto dentro do seu
aplicativo.
Na próxima parte do artigo vou abordar a herança de estilos.
Disse-lhe Jesus: Eu sou o caminho, e a
verdade e a vida; ninguém vem ao Pai, senão por mim.
João 14:6
Xamarim - Criando Apps com o Visual Studio e C# (vídeo aula)