2014-06-24 95 views
9

我想知道如何在Android Studio中使用外部字體,因爲沒有資產文件夾。我在網上尋找一個有用的turtorial,但他們都假裝使用Assets文件夾。如何在ANDROID STUDIO中導入外部字體/字體?

我自己在src/main中創建了一個資產文件夾,但Android Studio沒有識別getAssets()

+0

可能重複[如何創建在Android Studio中自定義字體(http://stackoverflow.com/questions/19997467/how-to-create-custom-fonts-in-機器人工作室) –

回答

39

去你的項目,使資產的文件夾:應用程序 - > SRC - >主

創建一個文件夾的資產像這樣:

|assets 

    |-----------------fonts 

     |-------------------font.ttf 

|java 

|res 

AndroidManifest.xml 

然後用

 Typeface face=Typeface.createFromAsset(getAssets(),"fonts/digital.ttf"); 
    txtV.setTypeface(face); 
+0

看到這張照片你的概念很清楚http://i.stack.imgur.com/NuDv1.png –

6

如果有自定義的字體,然後用下面的代碼:

TextView tv=(TextView)findViewById(R.id.custom); 
Typeface face=Typeface.createFromAsset(getAssets(),"fonts/Verdana.ttf"); 
tv.setTypeface(face); 

而且把你的字體文件的資產/ fonts文件夾,並從這裏按照instructions

注:你必須自己

+3

** LINK是死** – FrostyPinky

0

,如果你有一個電子用「getAssets()」方法調用rror,那麼你可以使用下面的方法。 資產的文件夾放字體家族

Typeface getFace=Typeface.create("OpenSans",3); 
textView = (TexView) findViewById(R.id.textView); 
textView.setTypeface(getFace); 
0

如果you'e試用過RES /資產/字體和主/資產的字體文件夾,你已經嘗試過不同的字體,並未能奏效 - 這是有可能是Android Studio的錯誤。

我有同樣的問題,但我解決它通過導入我的字體到在線字體編輯器(搜索pentacom字體編輯器)和出口的字體,並將其保存到一個新的ttf文件。結果字體的分辨率會降低,但它對我有用。

可能有其他的在線字體編輯器/出口商,你可以嘗試。

0

根據android開發人員: Android 8.0(API級別26)引入了一項新功能,即XML中的字體,它允許您使用字體作爲資源。您可以在res/font /文件夾中添加字體文件以將字體捆綁爲資源。這些字體會在您的R文件中編譯並在Android Studio中自動提供。您可以藉助新的資源類型字體訪問字體資源。例如,要訪問字體資源,請使用@ font/myfont或R.font.myfont。

瞭解更多詳情:https://developer.android.com/guide/topics/ui/look-and-feel/fonts-in-xml.html