Xamarin:Benutzerdefinierte Schriftart in App

Symptom

Sie möchten in Ihrer Xamarin-App eigene Schriftarten (Custom Fonts) benutzen. Sie kopieren Ihre Schriftart-Dateien in den App-Ordner, diese werden jedoch nicht angewendet. App benutzt weiterhin die Standart-Schriftarten.

Ursache und Lösung

Damit eine benutzerdefinierte Schrift in der App verwendet wird, sollte diese richtig konfiguriert werden. Öffnen Sie bitte hierzu Ihre Projektmappe in VisualStudio und dann gehen Sie wie folgt vor.

Xamarin Android:

1. Legen Sie Ihre Schriftart-Datei (z.B. MeineSchrift.ttf) in Ordner <Assets> Ihres Projektordners ab.
2. Klicken Sie auf diese Datei mit der rechten Maustaste und gehen Sie zu <Eigenschaften>. Stellen Sie sicher, dass es „AndroidAsset“ als BuildAction für diese Datei eingestellt ist.
3. Jetzt können Sie Ihre Schriftart in der Android-App im C#-Code benutzen:

 public static Typeface MeineAppSchrift = 
          Typeface.CreateFromAsset(Application.Context.Assets, "MeineSchrift.ttf");
    
TextView MeinTextView  =  FindViewById<TextView>(Resource.Id. MeinTextView);
MeinTextView.Typeface  =  MeineAppSchrift;

Xamarin iOS:

1. Legen Sie Ihre Schriftart-Datei (z.B. MeineSchrift.ttf) in Ordner <Resources> Ihres Projektordners ab.
2. Klicken Sie auf diese Datei mit der rechten Maustaste und gehen Sie zu <Eigenschaften>. Stellen Sie sicher, dass es „BundleResource“ als BuildAction für diese Datei eingestellt ist.
3. Jetzt sollten Sie noch Ihre Schriftart in der Datei Info.plist registrieren. Achtung, wenn Sie diese Konfigurationsdatei in VisualStudio mit dem eingebauten Default-Editor (PListEditorFactory) öffnen, dann finden Sie dort keine Möglichkeit, die Schriftarten zu konfigurieren. Das geht nur im XamarinStudio auf dem Mac.
Aber keine Sorge, in VisualStudio gibt es auch einen Weg, um die Schriftarten in Info.plist einzutra-gen. Plist-Dateien sind nichts anderes, als XML-Dokumente. Darum klicken Sie einfach in VisualStudio auf Ihre Info.plist-Datei mit der rechten Maustaste, wählen Sie <Öffnen mit...> und dann <XML Editor>. Nun fügen Sie einen Key hinzu:

<key>UIAppFonts</key>
	<array>
		<string>MeineSchrift.ttf</string>
	</array>


4. Jetzt können Sie Ihre Schriftart in der iOS-App im C#-Code benutzen:

public static string MeineAppSchrift = "MeineSchrift"; 

MeinLabel.Font = UIFont.FromName(MeineAppSchrift, 20);  

Achtung, hier sollten Sie den Schriftnamen benutzen, und nicht den Dateiname. Den Schriftnamen können Sie erfahren, wenn Sie Ihre .ttf-Datei ganz normal aus dem Windows-Explorer öffnen.

Öffnen der .ttf-Datei.jpg











Weitere Informationen

https://www.max-it.de/techcorner/Xamarin:Benutzerdefinierte_Schriftart

Links und Quellen

http://developer.xamarin.com/recipes/ios/standard_controls/fonts/enumerate_fonts/

Kontakt

Wenn Sie Fragen oder Anmerkungen zu diesem Artikel haben, melden Sie sich bitte bei uns: mailto:techCorner@max-it.de.

Tags

Xamarin, android, ios, app, schriftart, schrift, benutzerdefiniert