PackTudo

Xamarin – Modificando Fontes no Xamarin Forms

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:

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:

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^^