使用自定义字体时出现问题 - "无法制作原生字体"

Oma*_*mar 49 java fonts android listview textview

我正在尝试使用我在互联网上找到的字体,但问题是我得到的FC"原生字体无法制作".

这是我的ListVIew的getView中的代码:

        holder.tv_SuraName   =(TextView)convertView.findViewById(R.id.Start_Name);
        holder.tv_SuraName.setTypeface(Typeface.createFromAsset(mContext.getAssets(), "suralist_font.ttf"));
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么我可以使用自定义ROM?你可以在这里得到..文件是.ttf

小智 48

我的问题是资产文件夹的放置不正确.

使用Android Studio时,assets文件夹应位于源集内部,例如

的src/main /资产/

发现在这个答案


Nik*_*kov 36

由于某种原因,字体文件已损坏或不受支持.您可以将其放在SD卡上并从文件中加载,以确保它不属于您的资产问题.


erd*_*ter 29

基本上有4件事可能导致这种情况:

  1. 您使用错误的扩展名
  2. 你必须将字体放在assets文件夹中,而不是在assets/fonts /中
  3. 你拼错了字体
  4. 字体需要小写(在我的情况下,解决方案是将MyFont.ttf重命名为myfont.ttf,奇怪)

  • 就我而言,我使用的是Bootstrap,需要将文件复制到assets文件夹的**根目录**.你的答案帮助弄清楚了+1. (2认同)

小智 21

仔细检查扩展名是否为大写,即.suralist_font.TTF

字体经常出现这种情况,可能会被忽视.


a54*_*dio 9

我有同样的问题,我在资产> fonts> whatever.ttf中创建了我的错误.我添加了字体扩展名(fonts/whatever.ttf),它解决了每种情况下的问题.

 holder.tv_SuraName   =(TextView)convertView.findViewById(R.id.Start_Name);
 holder.tv_SuraName.setTypeface(Typeface.createFromAsset(mContext.getAssets(),    "fonts/suralist_font.ttf"));
Run Code Online (Sandbox Code Playgroud)