Question

Dans Xamarin.Forms J'utilise un Étiquette et j'essaie de définir un Police de caractère.

Le code suivant fonctionne : -

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

Cependant, en essayant de préciser le Attributs de police comme :-

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

empêche le Contenu de la page du rendu avec une exception.

Il y a un Font.BoldSystemFontOfSize(), qui pourrait être utilisé, mais il est censé être obsolète, j'essaie donc maintenant d'utiliser Font.SystemOfSize plutôt.

Comment ça se fait en utilisant ça ?

Était-ce utile?

La solution

Voici un morceau de code qui fonctionne dans mon projet:

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

Ceci vous permet de ne pas spécifier une certaine taille de police et utiliser la taille de la police utilisée par défaut pour l'étiquette

Autres conseils

Je suppose que je suis en retard pour répondre. Mais j'aimerais toujours mentionner cela, cela peut être fait en utilisant XAML maintenant. Le XAML suivant donnera la sortie souhaitée.

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

Vous pouvez également vous reporter au lien suivant pour travailler avec des polices de XAMARIN.FORMS.

Utilisation de polices dans XForms

après la documentation suivante Xamarin.Forms - Travailler avec des polices, vous devez utiliser le code suivant:

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

Même page indique que BoldsystemFontOformEfsize est obsolète.

Si vous avez besoin de plus d'un endroit où la police en gras est requise, vous ferez mieux de créer un style.Soit globalement dans l'App.cs avec ou sans clé ou au niveau de la page.Vous pouvez définir toutes les propriétés que vous souhaitez sur les valeurs appropriées et utiliser où que vous souhaitiez.

pour référence vérifier ce page

J'ai eu une situation similaire où le FontAttributes="Bold" d'une étiquette à l'intérieur d'un DataTemplate pour un ListView n'étaient pas rendus en gras dans iOS.Android rendu bien.

Lorsqu'il n'est pas dans un DataTemplate, l'audacieux Label rendu correctement.

La cause était que la police par défaut n’avait pas de gras disponible sur iOS.Quand j'ai ajouté un Font="Arial" au Label, il a correctement rendu le gras dans iOS.

Je partage ceci au cas où quelqu'un d'autre aurait le même problème.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top