Android Stuido erkennt keine Schriftarten

  • Antworten:14
Daniel Zuzu
  • Forum-Beiträge: 6

22.12.2014, 16:00:35 via Website

Hallo zusammen,
wie der Titel schon verrät, erkennt mein Android Studio keine Fonts in .ttf und .otf Format mehr.
Wenn man unter File--> Settings -->File Types nachschaut, finde ich keine Kategorie welche diese Formate unterstützen würde. Bitte hilft mir.
Im Anhang ist ein Bild mit meiner Android Studio Version + den nicht erkannte File Typesimage

Antworten
pepperonas
  • Forum-Beiträge: 434

22.12.2014, 16:33:23 via Website

Hallo,

die Verzeichnisse sehen bei mir so aus:
../src/main/assets/fonts/SCHRIFTART.ttf

Geladen wird dann die Schriftart in Java wie folgt:

Typeface fontRobotoBold = Typeface.createFromAsset(getApplication().getAssets(), ROBOTO_CONDENSED_BOLD);

Schriftart "setzen":

mTvTopBig.setTypeface(fontRobotoBold);

oder unter einem "Style" in deiner styles.xml:

    <style name="Light" parent="android:Theme.Holo.Light">
            <item name="android:textViewStyle">@style/RobotoTextViewStyle</item>
   </style>

Open Source

Antworten
Daniel Zuzu
  • Forum-Beiträge: 6

22.12.2014, 18:00:14 via Website

Das bringt nichts.
Android erkennt die ttf's nicht. Hier ein Screenshoot meine Programmes. Da ist alles korrekt.
Kannst du bitte in File--> Settings -->File Types rein gehen und nachschauen zu welches Gruppe die dazu gehören?image

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

22.12.2014, 18:31:54 via Website

Hallo Daniel,

das ist kein Fehler der stören wird. AS versteht manche Wörter nicht und kreidet sie als Falsch an.
Du kannst deine App mal starten es dürfte kein Fehler beim compile auftauchen

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
pepperonas
  • Forum-Beiträge: 434

22.12.2014, 19:05:18 via Website

Ludy

Hallo Daniel,

das ist kein Fehler der stören wird. AS versteht manche Wörter nicht und kreidet sie als Falsch an.
Du kannst deine App mal starten es dürfte kein Fehler beim compile auftauchen

Hmm, ich glaube das meint er nicht...

@Daniel:
Mach nochmal deine Fonts raus (nur die Dateien aus dem Ordner, in dem sie jetzt drin sind, entfernen)...
Dann stellst du deine IDE (also Android Studio) auf von "Packages" auf "Project" um und schaust dir nochmal meinen Beitrag von vorhin an. ;)
Umstellen kannst du das oben Links unter dem Disketten/Synchronisieren Symbol.

Alternativ würde es (wahrscheinlich) auch gehen wenn du deinen derzeitigen "assets"-Ornder in fonts umbenennst (aber sicher bin ich mir nicht, mache es lieber wie oben beschrieben).

— geändert am 22.12.2014, 19:07:06

Open Source

Antworten
Daniel Zuzu
  • Forum-Beiträge: 6

22.12.2014, 21:05:48 via Website

Hallo zusammen und danke für die Antworten,
Leider hat dein Vorschlag nicht geklappt pepperonas. Ich kann die App zwar auf meinen Smartphone aufspielen, jedoch stürzt diese sofort ab wenn sie versucht das Fragment mit der Schriftart auf zu rufen.
Wie gesagt, ich habe das Gefühl das AS diesen Dateitypen nicht versteht. Ein doppeltklick auf die SCHRIFTART.ttf Datei bewirkt, das ein Fenster aufgerufen wird wo gefragt wird, wie man den Filetyp ttf öffnen soll. Ich habe mal wieder ein Screenshot davon gemacht.
image

Antworten
pepperonas
  • Forum-Beiträge: 434

22.12.2014, 21:21:29 via Website

Das ist normal (habe gerade nochmal nachgesehen, bei mir macht das AS genauso...)

Was sagt denn Logcat? Nullpointer-Exception?

Kann eigentlich nicht sein, dass meine Lösung nicht funktioniert. Dann muss der Fehler wo anders liegen.

Schreibe mal:
TextView anyTextView = (TextView) findViewById(R.id.play_again);
anyTextView.setText("Test bestanden!");

wenn das klappt..
anyTextView.setTypeface(tts);

— geändert am 22.12.2014, 21:30:08

Open Source

Antworten
Daniel Zuzu
  • Forum-Beiträge: 6

22.12.2014, 21:47:31 via Website

Die Abänderung auf "test bestanden" funktioniert.
Jedoch klappt "anyTextView.setTypeface(tts);" nicht.

Logcat sagt dauerhaft:

12-22 21:41:28.322 24836-24836/game.dtothez.de.kissthefrog E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: game.dtothez.de.kissthefrog, PID: 24836
java.lang.RuntimeException: Unable to start activity ComponentInfo{game.dtothez.de.kissthefrog/game.dtothez.de.kissthefrog.MainActivity}: java.lang.RuntimeException: native typeface cannot be made
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2292)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2350)
at android.app.ActivityThread.access$800(ActivityThread.java:163)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1257)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:157)
at android.app.ActivityThread.main(ActivityThread.java:5335)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.RuntimeException: native typeface cannot be made
at android.graphics.Typeface.(Typeface.java:326)
at android.graphics.Typeface.createFromAsset(Typeface.java:300)
at game.dtothez.de.kissthefrog.MainActivity.onCreate(MainActivity.java:40)
at android.app.Activity.performCreate(Activity.java:5389)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2256)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2350)
            at android.app.ActivityThread.access$800(ActivityThread.java:163)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1257)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:157)
            at android.app.ActivityThread.main(ActivityThread.java:5335)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
            at dalvik.system.NativeStart.main(Native Method)

Antworten
pepperonas
  • Forum-Beiträge: 434

22.12.2014, 21:51:38 via Website

Okay, dann liegt's an der Schriftart bzw. einem Bug in Android...
siehe hier

Du hast nicht den Pfad angegeben, oder? Wenn nicht, probiere nochmal folgendes:

Typeface.createFromAsset(getApplication().getAssets(), "fonts/Cyanotype.ttf");

Daran wirds liegen... sorry, dass es mir jetzt erst auffällt :/

— geändert am 22.12.2014, 21:55:50

Open Source

Antworten
Daniel Zuzu
  • Forum-Beiträge: 6

22.12.2014, 22:35:28 via Website

Leider liegt es auch nicht daran,

Typeface.createFromAsset(getApplication().getAssets(), "fonts/Cyanotype.ttf");
<

Diesen Teil des Codes habe ich mehrmals Varriert um mögliche Fehler aus zu schließen.
Jedoch verhält sich meine App anderst! Sie startet mit dem Codeinhalt :
TextView anyTextView = (TextView) findViewById(R.id.start);
anyTextView.setTypeface(ttf);
anyTextView.setText("Test bestanden!");
Der Text wird nun auch geänder aber nicht die Schriftart. Davor ist das Porgramm zusammen gebrochen beim belassen der Codezeilen.
Sobald ich Erfolge verbuchen kann Schreibe ich wieder, solang werde ich ein paar weitere Foren ausgraben müssen.
Aber bis hierher ein großes Dankeschön!

Antworten
Ludy
  • Admin
  • Forum-Beiträge: 7.957

22.12.2014, 23:14:57 via Website

Hallo Daniel,

bitte prüfe noch mal ob deine .ttf Datei im assets/fonts Ordner ist und bitte achte drauf, dass Du die Dateiendung mitschreibst.
In deinem Screenshot im zweiten Post fehlt diese.

TextView textViewz = (TextView) findViewById(R.id.textViewz);
Typeface tf = Typeface.createFromAsset(getAssets(), "font/frutigerblack.ttf");
textViewz.setTypeface(tf);

— geändert am 22.12.2014, 23:16:02

Gruß Ludy (App Entwickler)

Mein Beitrag hat dir geholfen? Lass doch ein "Danke" da.☺

☕ Buy Me A Coffee ☕

Lebensmittelwarnung-App

✨Meine Wunschliste✨

📲Telegram NextPit News📲

Antworten
Daniel Zuzu
  • Forum-Beiträge: 6

23.12.2014, 16:19:42 via Website

Hallo Ludy,
ja im Screenshoot fehlen diese, jedoch habe ich alle Variationen ausversucht.

Ich habe jetzt ein neues Projekt erstellt und darin mal den Typeface hereingebracht, und siehe da, es funktioniert!
Die zwei Programme sind vom Aufbau her gleich, jedoch verstehe ich nicht wieso es in einem klappt und in dem anderen nicht.

Danke euch allen für den support!

Antworten
Robert Runkel
  • Forum-Beiträge: 1

28.12.2014, 12:51:27 via Website

Hallo Daniel,

setzte deinen Schritt 3 ans Ende der ShowStartFragment-Funktion und probiere es dann noch einmal. Im Buch steht es übrigens auch ohne die getAppilcation()-Anweisung. Bei mir hat's funktioniert.

Viele Grüße
Robert

Antworten
pepperonas
  • Forum-Beiträge: 434

30.12.2014, 09:10:52 via App

Ich habe gestern nochmal meinen Ansatz mit 5 verschiedenen Schriftarten ausprobiert (darunter auch einige extravagante), alle wurden angezeigt. Kann eigentlich nicht sein, dass es bei dir nicht funktioniert - oder klappt es mittlerweile?

Open Source

Antworten