其他分享
首页 > 其他分享> > Android Studio – 使用片段中的资产管理器设置自定义字体

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

作者:互联网

我正在改写我的一个项目,将片段用于平板电脑.我还决定开始使用Android Studio进行转换.非常简单,但我遇到了一个关于设置自定义字体这个非常简单的任务的问题.

我从这些开始:
Custom fonts in android
List of files in assets folder and its subfoldersSet custom font for Android fragments

在Eclipse中,我的类扩展了Activity,我在OnCreate中执行了以下操作,没有任何问题.(有一个目录和文件“assets / FUT_R.ttf”)

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

现在尝试将此Activity转换为ActionBarActivity(带有V7支持库的片段),我已将上述代码更改为此. (其中视图是带有一个Framelayout的手机充气布局)

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

并且它在运行时崩溃并带有可爱的java.lang.RuntimeException:虽然我在我的新项目中创建了’assets’目录并且在其根目录中使用了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

我很困惑,因为我的’assets’目录或项目中没有这些文件和/或目录.显然错误是系统找不到我的字体文件.我究竟做错了什么?任何方向都会受到高度赞赏,我在这个愚蠢的问题上浪费了太多时间.

谢谢!

解决方法:

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

它指出Android Studio中的assets文件夹显然已被更改.它不需要在根应用程序文件夹中的正常位置(与libs,src,ect相同),而是需要在yourapp / src / main / assets下创建.希望这有助于其他人.我浪费了很多时间!

标签:android,fonts,android-fragments,asset-management
来源: https://codeday.me/bug/20190714/1460331.html