2016-04-14 166 views
0

我使用的Android Studio和我有以下代碼:Android Studio中的資產Fonts文件夾

Typeface customTypeface = Typeface.createFromAsset(getAssets(), "micra.ttf"); 

當我.ttf文件是資產的文件夾下,這完全執行。但是,當我做一個文件夾assets/fonts,移動.ttf文件到該文件夾​​,並嘗試下面的代碼:

Typeface customTypeface = Typeface.createFromAsset(getAssets(), "fonts/micra.ttf"); 

應用程序崩潰。

這裏有什麼問題?我應該用其他東西替換/符號嗎?我的資產文件夾位於app/src/main下。

+2

「的應用程序崩潰」 - 用的logcat來檢查你的崩潰相關的Java堆棧跟蹤:HTTPS:/ /stackoverflow.com/questions/23353173/uncomfort-myapp-has-stopped-how-can-i-solve-this – CommonsWare

+0

發佈崩潰報告! – Kathi

回答

3

這對我來說很好。我從上下文中使用getActivity()上下文getAssets()

Typeface tfBold = Typeface.createFromAsset(getActivity().getAssets(), 
       "fonts/EntangledPlain.ttf"); 

我的文件夾結構是這樣的 enter image description here

+0

哇......我添加了'.this'這個'.getAssets()',正如你所展示的那樣,它的工作原理!謝謝!你能否解釋爲什麼沒有'.this'這個工具? –

+0

因爲我們需要資產文件夾的上下文,否則它不知道我們的資產文件夾在哪裏。如果它有助於接受答案。 – Kathi

相關問題