Android Studio - 在片段中使用资产管理器设置自定义字体

问题描述:

我正在重写我的项目以合并片段以用于平板电脑。我也决定开始使用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 

我很困惑,因为在我的“资产”的目录或项目并不在哪里我有这些文件和/或目录。显然这个错误是系统找不到我的字体文件。我究竟做错了什么?任何方向将不胜感激,我已经浪费太多时间在这个愚蠢的问题。

谢谢!

我终于偶然发现了这一点:Load a simple text file in Android Studio

其中指出Android Studio中的资产文件夹显然已经改变。它需要在yourapp/src/main/assets下创建,而不是它在根应用程序文件夹中的正常位置(与libs,src等相同)。希望这可以帮助别人。我浪费了很多时间!

+0

感谢您的支持。为我节省了一大堆时间! –