Olá pessoal, nessa continuação da serie aqui do Blog “Curso de Xamarin completo gratuito” que também é publicado em forma de vídeo em meu canal do youtube, falarei como usar fontes no Xamarin.Forms e como mudar suas propriedades de texto e derivados, então? Vamos la?
Usando Fontes
No Xamarin.Forms podemos formatar os textos dos nossos controles / Views usando as seguintes propriedades:
- FontAttributes – Compõe estilos de fonte como negrito e itálico e ela pode ser acessada da seguinte maneira:
labelQualquer.FontAttributes = FontAttributes.Bold;
por exemplo.- Algumas opções de FontAttributes:
None, Bold e Italic
. - Podemos passar múltiplos atributos, bastando utilizar um PIPE
label.FontAttributes = FontAttributes.Bold | FontAttributes.Italic;
- Algumas opções de FontAttributes:
- FontFamily – Define o nome da fonte que desejamos usar em nossa label, bastando passar uma
String
para isso, vejamos um exemplo:label.FontFamily = "Comic Sans";
- FontSize – Através dessa propriedade podemos editar a espessura da fonte e o seu tamanho, basta passar um
Double
ou um através de uma enumeração NamedSize, vejamos os exemplos:label.FontSize = 35;
oulabel.FontSize = Device.GetNamedSize(NamedSize.Large, typeof(Button));
onde a enumeração busca e define um valor relativo de NamedSize para cada dispositivo.- Tamanhos de NamedSize:
- Micro
- Small
- Medium
- Large
- Tamanhos de NamedSize:
Nota: Alguns controles dão suporte a diferentes FontAttributes em partes distintas de uma string, basta usar a classe
FormattedString
, mais detalhes abaixo.
FormattedString
Alguns controles Xamarin.Forms suportam atributos de fonte diferente dentro de uma string usando o FormattedString. Um FormattedString consiste em um ou mais spans, cada um pode ter os seus próprios atributos.
A classe Span tem os seguintes atributos:
- Text – O valor para exibir
- FontFamily – O nome da fonte
- FontSize – O tamanho da fonte
- FontAttributes – As informações de estilo como itálico e negrito
- ForegroundColor – Cor do texto
- BackgroundColor – Cor da fundo
Vejamos um exemplo extraído da documentação oficial do Xamarin.Forms:
var labelFormatted = new Label ();
var fs = new FormattedString ();
fs.Spans.Add (new Span { Text="Red, ", ForegroundColor = Color.Red, FontSize = 20, FontAttributes = FontAttributes.Italic });
fs.Spans.Add (new Span { Text=" blue, ", ForegroundColor = Color.Blue, FontSize = 32 });
fs.Spans.Add (new Span { Text=" and green!", ForegroundColor = Color.Green, FontSize = 12 });
labelFormatted.FormattedText = fs;
Fontes específicas
O incrível do Xamarin.Forms é justamente a magia de podermos compartilhar um único código com diversas plataformas, e graças a isso, podemos trabalhar com fontes específicas para cada plataforma dentro do Xamarin, basta usar oDevice.OnPlatform
, lembre-se de verficiar se a fonte funciona em todas as plataformas, vamos ao exemplo:
label.FontFamily = Device.OnPlatform{
iOS: "Courier",
Android: "Doid Sans Mono",
WinPhone: "Courier New"
}
Nota: O uso de Device.OnPlatform é um grande truque multiplataforma, use e abuse dele.
Então…
É isso pessoal, até o próximo post, qualquer duvida ou sugestão, critica ou elogios, deixe nos comentários abaixo^^