2015-09-28 45 views
0

我有一個相當傳統的問題。在我的應用我有這樣一行:原生字體不能用於字體

Typeface font = Typeface.createFromAsset(getAssets(), "fonts/fontawesome-webfont.ttf"); 

並返回一個例外:

RuntimeException: native typeface cannot be made 

我有什麼:

  • assets文件夾在我的應用程序的文件夾src/main/;
  • 在的build.gradle文件中寫了下面幾行:

    sourceSets { main { assets.srcDirs = ['assets'] } }

  • 我的文件名和擴展名是小寫。

我寫的,我認爲這個問題的所有計算器職位,嘗試了以下解決方案:

  • 我寫context.getAssets()context.getRessources().getAssets(),而不是簡單地getAssets()
  • 我試圖把我的字體文件的字體dauther老,直接到資產文件夾
  • 我試圖檢查TTF擴展,而不是ttf
  • 我試圖從文件中刪除 - 和_ simbols na我

沒有什麼幫助我。可能你知道另一個解決方案嗎?

謝謝。

+0

哪裏是你的資產文件夾? – dmSherazi

+0

http://stackoverflow.com/questions/7531856/issue-when-using-a-custom-font-native-typeface-cannot-be-made –

+0

dmxherazi,你看過我的文字嗎?有一行描述我的資產的本地化。 – user2957954

回答

0

看來您的資產文件夾可能放錯了位置。在使用Android Studio時,資產文件夾應位於源集內,例如src/main/assets/

也重命名字體並用`_`移除`-`,並在代碼中做適當的修改。

UPDATE

我試圖重現您的問題,發現問題可能是因爲無效的字體文件。很可能下載的ttf已損壞。使用this file for fontawsome-webfont

enter image description here

+0

看來,你還沒有讀過我的問題的所有單詞。 – user2957954

+0

您是否嘗試重命名該文件並刪除'-'字符。 – dmSherazi

+0

是的,我試過了,它沒有幫助 – user2957954