2013-10-07 24 views
24

Ich versuche, eine benutzerdefinierte Schriftart zu verwenden, und ich habe gelesen, dass ich glaube, die Schriftarten in Assets/Schriftarten zu platzieren. Ich verwende Android Studio und es sieht nicht so aus, als hätte ich einen Assets-Ordner. Also habe ich einen erstellt. Aber meine App stürzt ab, wenn ich den Assets-Ordner in src/main platziere. Ich benutze diesen Code, um meine Schriften zu laden.Ordner für Assets in Android Studio?

Typeface fontRegular = Typeface.createFromAsset(getAssets(), "fonts/DroidSans.ttf"); 
Typeface fontBold = Typeface.createFromAsset(getAssets(), "fonts/DroidSans-Bold.ttf"); 

myDeviceModelTxt.setTypeface(fontRegular); 

Was mache ich falsch?

+2

Ich halte meine im Projekt/Modul/src/main/assets/fonts – hoss

+0

möglich Duplikat [Wo platzieren Assets Ordner im Android Studio] (http: // Stackoverflow. com/questions/18302603/where-to-place-assets-ordner-in-android-studio) – Prince

+0

Siehe http://stackoverflow.com/a/35865160/3496570 – Nepster

Antwort

53

Ich bin nicht sicher, ob es irgendwelche Fehler behoben wurde, da dies wurde gefragt, aber ich bin die aktuelle Struktur für ein Projekt im Android Studio 0.5.2 mit:

root-module 
|--.idea 
|--app 
|----build 
|----src 
|------main 
|--------assets 
|----------SomeFont.ttc 
|----------AnotherFont.otf 
|--------java 
|----------source code here 
|--------res 
|------AndroidManifest.xml 
|----build.gradle 

Und dann bekommen sie durch den Aufruf

Typeface.createFromAsset(mContext.getResources().getAssets(), "SomeFont.ttc"); 

ein Wort der Warnung aber ist es ein Bug (https://code.google.com/p/android/issues/detail?id=9904), die Schriften von Müll wird ordnungsgemäß gesammelt verhindert. Benutze ein Singleton!

-1

Der Ordner "Assets" sollte unter dem Stamm des Projekts platziert werden. Weitere Beispiele finden Sie unter here.

+2

Nicht nach diesem Post http://StackOverflow.com/Questions/18302603/where-to-Place-assets-folder-in-android-studio – Jojo

+1

Seltsam. Ich muss das überprüfen. Entweder hat Google die getAssets erweitert, um sowohl im Stammverzeichnis als auch unter src/main zu suchen, oder der Post, den Sie angegeben haben, fehlt etwas. Ich überprüfe und aktualisiere. –

+1

@LiorOhana dieser Beitrag scheint sich auf die Sonnenfinsternis zu beziehen, nicht auf Android Studio – pconcepcion

0

einfach diesem Weg folgen:

File > New > folder > assets Folder 

Hier App vor dem Erstellen von Ordnern ausgewählt werden muß.

Weitere Informationen finden Sie this answer

12

erstellen Assets Rechts auf App auf Ordner - >> neu - >> Folder - >> AssetsFolder wie unten Bild

enter image description here

Setzen Sie Ihre Schrift in diesem Ordner einfach kopieren und einfügen. und unter Code beispielsweise verwenden ..

Typeface tf = Typeface.createFromAsset(getContext().getAssets(), "YourFontName.ttf"); 
setTypeface(tf); 
+0

Dies ist die richtige Anwsser – allemattio

Verwandte Themen