Android Studio - Set custom fonts with asset manager in fragment
我正在重写我的一个项目,以合并用于平板电脑的片段。我还决定开始使用 Android Studio 进行转换。非常简单,但我在设置自定义字体这一非常简单的任务上遇到了问题。
我从这些开始:
android中的自定义字体和
assets 文件夹及其子文件夹中的文件列表以及此为 Android 片段设置自定义字体
在 Eclipse 中,我的类扩展了 Activity,我在
1 2 3 | TextView tv=(TextView)findViewById(R.id.someTextView); Typeface font = Typeface.createFromAsset(getAssets(),"FUT_R.ttf"); tv.setTypeface(font); |
现在尝试将此 Activity 转换为 ActionBarActivity(带有 V7 支持库的片段),并且我已将上述代码更改为此。 (其中
1 2 3 | TextView tv=(TextView) view.findViewById(R.id.someTextView); Typeface font = Typeface.createFromAsset(getActivity().getAssets(),"FUT_R.ttf"); tv.setTypeface(font); |
它在运行时与可爱的
为了确认资产管理器,我尝试了以下代码:
1 2 3 4 5 6 7 8 9 10 | String[] f = null; try { f = getActivity().getAssets().list(""); } catch (IOException e){ e.printStackTrace(); } for(String f1:f){ Log.i("names",f1); } |
得到以下输出:
1 2 3 | 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 |
我很困惑,因为在我的 \\'assets\\' 目录或项目中没有这些文件和/或目录。显然错误是系统找不到我的字体文件。我究竟做错了什么?任何方向都将不胜感激,我在这个愚蠢的问题上浪费了太多时间。
谢谢!
我终于偶然发现了这个:Load a simple text file in Android Studio
指出 Android Studio 中的资产文件夹显然已更改。它需要在 yourapp/src/main/assets 下创建,而不是它在根应用程序文件夹中的正常位置(与 libs、src 等相同的级别)。希望这对其他人有帮助。我浪费了很多时间!