webentwicklung-frage-antwort-db.com.de

Schriftart für Android-Laufzeitausnahme-Schriftart nicht gefunden

Hier ist mein Code und Screenshot. Ich versuche, eine benutzerdefinierte Schriftart festzulegen. Die Laufzeitausnahme wird jedoch angezeigt, wenn die Schriftartdatei nicht gefunden wird, während sich die Schriftartdatei im Assetordner befindet. Fehlt mir etwas?

Typeface font = Typeface.createFromAsset(getAssets(), "font/terminal.ttf");
((TextView) findViewById(R.id.weatherHeadingTV)).setTypeface(font);

enter image description herescreenshot of Android studio project

10

Ich habe eine andere Schriftartdatei ausprobiert, die gut funktioniert hat. Danke @Miduhun MP, @Gowtham Raj und @jagan reddy

1

der Ordnername muss 'fonts' nicht 'font' sein

Typeface typeface = Typeface.createFromAsset(getAssets(), "fonts/" + font);
8
Gowtham Raj

Der Ordner für Ihre Schriftartenobjekte wurde falsch benannt. Sie sollten den Ordner als fonts und nicht als font benennen. Ändern Sie auch Ihren Code:

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/terminal.ttf");
4
Midhun MP

Wenn Sie Instant Run mit dem Android Gradle-Plugin Version 2.2.0-alphaX verwenden, handelt es sich um einen bekannten Fehler.

Eine Problemumgehung besteht darin, Instant Run zu deaktivieren, bis das Problem behoben ist.

Sie können es hier nachverfolgen: https://code.google.com/p/Android/issues/detail?id=212849&can=1&q=subcomponent%3DTools-Studio%20-has%3Aproject%20Data&id=5&colspec=ID 20Status% 20Priority% 20Owner% 20Zusammenfassung% 20Stars% 20Reporter% 20Opened & start = 7700

3
Laurențiu Onac
  1. Der Name des Ordners sollte "fonts" und nicht "font" sein.
  2. Beachten Sie, dass sich der Ordner "fonts" im Ordner "assets" befindet (der sich im Ordner "main" und nicht im Ordner "res" befinden sollte). .
3
Tiferet Cohen

wende diese Methode an:

final Typeface typeface = ResourcesCompat.getFont(context, R.font.X);
2
Mr.Hosseini

Häufiger Fehler, wenn sich in Ihrem Projekt Assets befinden und Sie die Alpha-Versionen von AS verwenden. Dies scheint ein Fehler im Android Studio Build System zu sein. Eine einfache Problemumgehung besteht darin, das Projekt zu bereinigen, bevor Sie es ausführen, und das Problem sollte gelöst werden.

2
Jishin Dev

Ich hatte das gleiche Problem und konnte das Problem beheben. Ursprünglich dachte ich, dass die Fontdateien beschädigt waren, aber nicht. Dann dachte ich, dass Android Studio .ttf-Dateien nicht mag, weil sie die einzigen waren, die nicht funktionierten. Es stellt sich heraus, dass mit den Schriftarten nichts falsch ist.

FIX: Klicken Sie einfach auf Build > Clean project. Es wurde sofort für mich behoben.

1
Will

Typeface typeface = Typeface.createFromAsset (this.getAssets (), "font/terminal.ttf");

((TextView) findViewById (R.id.weatherHeadingTV)). SetTypeface (Schriftbild);

0
jagan reddy

Für mich war die Schriftartdatei selbst beschädigt. Ich habe einen anderen probiert, damit es funktioniert. 

0
Bilal Halayqa

Wenn Sie AndroidAnnotations verwenden, überprüfen Sie in der App build.gradle, ob der Ordner ordnungen in Ordnung ist: ex: main/src/assets.

Wenn Sie die Schriftart ändern, deinstallieren Sie Ihre App von Ihrem Gerät/Emulator und führen Sie sie erneut aus.

Code: 

public static void setFontFace(Context context, TextView textView) {
  Typeface type = Typeface.createFromAsset(context.getAssets(), "myfont.ttf");
  textView.setTypeface(type);
}
0
Pierry

Ich hatte das Problem, dass .woff-Schriftarten auf Android 7+ nicht akzeptiert werden. Also wechselte ich zu .ttf-Schriftarten.

0
bremen_matt