Pregunta

En Xamarin.Forms estoy usando un Etiqueta y tratando de establecer un Fuente.

El siguiente código funciona: -

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10);

Sin embargo, al tratar de especificar el Atributos de fuente tales como: -

Label label1 = new Label();
label1.Font = Font.SystemFontOfSize(10, FontAttributes.Bold);

está impidiendo el Pagina de contenido de renderizar con una excepción.

Hay un Fuente.BoldSystemFontOfSize(), que podría usarse, sin embargo, esto debe quedar obsoleto, por lo que ahora estoy intentando usarlo Fuente.SystemOfSize en cambio.

¿Cómo se hace usando esto?

¿Fue útil?

Solución

Aquí hay una pieza de código que funciona en mi proyecto:

new Label {
   Text = "text goes here",
   Font = Font.SystemFontOfSize (NamedSize.Medium)
              .WithAttributes (FontAttributes.Bold),
}

Esto le permite no especificar un cierto tamaño de fuente y, en su lugar, usar el tamaño de fuente utilizado de forma predeterminada para la etiqueta

Otros consejos

Supongo que llego tarde a responder. Pero todavía me gustaría mencionar eso, esto se puede hacer usando XAML ahora. El siguiente XAML dará la salida deseada.

<Label Text="Hello Label" FontSize="20" FontAttributes="Bold"/>

Puede referirse al siguiente enlace para más información sobre cómo trabajar con fuentes en Xamarin.Forms.

trabajando con fuentes en xforms

Siguiendo la documentación xamarin.forms - Trabajar con fuentes, debe usar el siguiente código:

Label label1 = Font.SystemFontOfSize (10, FontAttributes.Bold | FontAttributes.Italic)

La misma página establece que negritasystemfontofsize está en desuso.

Si necesita más de un lugar donde se requiera la fuente en negrita, será mejor que cree un estilo.Ya sea a nivel mundial en la APP.CS con o sin clave ni en el nivel de página.Puede configurar todas las propiedades que desea con los valores apropiados y usar donde quiera.

Para verificar la referencia esta página

Tuve una situación similar donde el FontAttributes="Bold" de una etiqueta dentro de un DataTemplate para ListView no se representaron en negrita en iOS.Android se renderizó bien.

Cuando no está dentro de un DataTemplate, el audaz Label renderizado correctamente.

La causa fue que la fuente predeterminada no tenía negrita disponible en iOS.Cuando agregué un Font="Arial" hacia Label, representó correctamente la negrita en iOS.

Comparto esto en caso de que alguien más tenga el mismo problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top