2013-07-26 18 views
3

我正在重寫我的項目以合併片段以用於平板電腦。我也決定開始使用Android Studio進行轉換。很簡單,但我已經遇到了設置自定義字體這個非常簡單的任務的問題。Android Studio - 在片段中使用資產管理器設置自定義字體

我開始與這些: Custom fonts in androidList of files in assets folder and its subfoldersSet custom font for Android fragments

在Eclipse中我的類擴展活動,我的確在OnCreate沒有問題如下(有一個目錄和文件「資產/ FUT_R。 TTF「)

TextView tv=(TextView)findViewById(R.id.someTextView); 
Typeface font = Typeface.createFromAsset(getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font); 

現在想這個活動轉換爲ActionBarActivity(片段與V7支持庫),我已經改變了上面的代碼這一點。 (其中view是膨脹的佈局與一個對的FrameLayout電話)

TextView tv=(TextView) view.findViewById(R.id.someTextView); 
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "FUT_R.ttf"); 
tv.setTypeface(font); 

,並在運行時崩潰與可愛java.lang.RuntimeException: native typeface cannot be made即使我在其根目錄中創建和「資產」目錄在我的新項目,FUT_R.ttf 。

要確認的資產管理公司我想這個代碼:

String[] f = null; 
       try { 
        f = getActivity().getAssets().list(""); 
       } 
       catch (IOException e){ 
        e.printStackTrace(); 
       } 
       for(String f1:f){ 
        Log.i("names",f1); 
       } 

,得到了以下的輸出:

07-26 07:40:40.134 2114-2114/com.myapp I/names: images 
07-26 07:40:40.134 2114-2114/com.myapp I/names: sounds 
07-26 07:40:40.134 2114-2114/com.myapp I/names: webkit 

我很困惑,因爲在我的「資產」的目錄或項目並不在哪裏我有這些文件和/或目錄。顯然這個錯誤是系統找不到我的字體文件。我究竟做錯了什麼?任何方向將不勝感激,我已經浪費太多時間在這個愚蠢的問題。

謝謝!

回答

13

我終於偶然發現了這一點:Load a simple text file in Android Studio

其中指出Android Studio中的資產文件夾顯然已經改變。它需要在yourapp/src/main/assets下創建,而不是它在根應用程序文件夾中的正常位置(與libs,src等相同)。希望這可以幫助別人。我浪費了很多時間!

+0

感謝您的支持。爲我節省了一大堆時間! –

相關問題