Xamarin.Forms Estilos de texto
Estilizando texto em Xamarin.Forms
Os estilos podem ser usados para ajustar a aparência de rótulos, entradas e editores. Os estilos podem ser definidos uma vez e usados por muitos modos de exibição, mas um estilo só pode ser usado com modos de exibição de um tipo.
Os estilos podem ser dados a Key
e aplicados seletivamente usando a propriedade de Style
um controle específico.
Estilos incorporados
Xamarin.Forms Inclui vários estilos internos para cenários comuns:
BodyStyle
CaptionStyle
ListItemDetailTextStyle
ListItemTextStyle
SubtitleStyle
TitleStyle
Para aplicar um dos estilos internos, use a DynamicResource
extensão de marcação para especificar o estilo:
<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>
No C#, os estilos internos são selecionados em Device.Styles
:
label.Style = Device.Styles.TitleStyle;
Estilos personalizados
Os estilos consistem em setters e setters consistem em propriedades e os valores para os quais as propriedades serão definidas.
Em C#, um estilo personalizado para um rótulo com texto vermelho de tamanho 30 seria definido da seguinte maneira:
var LabelStyle = new Style (typeof(Label)) {
Setters = {
new Setter {Property = Label.TextColorProperty, Value = Color.Red},
new Setter {Property = Label.FontSizeProperty, Value = 30}
}
};
var label = new Label { Text = "Check out my style.", Style = LabelStyle };
Em XAML:
<ContentPage.Resources>
<ResourceDictionary>
<Style x:Key="LabelStyle" TargetType="Label">
<Setter Property="TextColor" Value="Red"/>
<Setter Property="FontSize" Value="30"/>
</Style>
</ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
<StackLayout>
<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />
</StackLayout>
</ContentPage.Content>
Observe que os recursos (incluindo todos os estilos) são definidos dentro ContentPage.Resources
do , que é um irmão do elemento mais familiar ContentPage.Content
.
Aplicando estilos
Depois que um estilo é criado, ele pode ser aplicado a qualquer modo de exibição correspondente ao seu TargetType
.
Em XAML, os estilos personalizados são aplicados aos modos de exibição fornecendo a sua Style
propriedade uma StaticResource
extensão de marcação que faz referência ao estilo desejado:
<Label Text="Check out my style." Style="{StaticResource LabelStyle}" />
No C#, os estilos podem ser aplicados diretamente a um modo de exibição ou adicionados e recuperados de uma página ResourceDictionary
. Para adicionar diretamente:
var label = new Label { Text = "Check out my style.", Style = LabelStyle };
Para adicionar e recuperar da página ResourceDictionary
:
this.Resources.Add ("LabelStyle", LabelStyle);
label.Style = (Style)Resources["LabelStyle"];
Os estilos internos são aplicados de forma diferente, pois precisam responder às configurações de acessibilidade. Para aplicar estilos internos em XAML, a DynamicResource
extensão de marcação é usada:
<Label Text="I'm a Title" Style="{DynamicResource TitleStyle}"/>
No C#, os estilos internos são selecionados em Device.Styles
:
label.Style = Device.Styles.TitleStyle;
Acessibilidade
Os estilos incorporados existem para facilitar o respeito pelas preferências de acessibilidade. Ao usar qualquer um dos estilos internos, os tamanhos de fonte aumentarão automaticamente se um usuário definir suas preferências de acessibilidade de acordo.
Considere o exemplo a seguir da mesma página de modos de exibição com os estilos internos com configurações de acessibilidade habilitadas e desabilitadas:
Desabilitado:
Habilitado:
Para garantir a acessibilidade, certifique-se de que os estilos internos sejam usados como base para quaisquer estilos relacionados a texto em seu aplicativo e que você esteja usando estilos de forma consistente. Consulte Estilos para obter mais detalhes sobre como estender e trabalhar com estilos em geral.