2016-03-15 80 views
1

我已经创建了一个TextView库项目,我已经使用了自定义字体。我必须创建这个库,因为这个TextView也将在其他三个项目中使用。我发现android库项目不支持assets/fonts文件夹。如果我用这种方式,它给我错误信息如何在android库项目中使用自定义字体?

native typeface cannot be made at android.graphics.Typeface 

有没有什么解决方法来解决这个问题。其他方式,我必须在三个不同的应用程序中使用重复的视图。还有我用来从库资源文件夹中获取字体的示例代码。

public static Typeface getFont(Context c, String fontName) { 
     synchronized (fonts) { 
      if (!fonts.containsKey(fontName)) { 
       Typeface t = Typeface.createFromAsset(
         c.getAssets(), "fonts" + File.separator + fontName); 
       fonts.put(fontName, t); 
      } 
      return fonts.get(fontName); 
     } 
    } 
+0

你能分享代码吗?你正在使用? – rockstar

+0

在你的库中创建'assets/fonts'文件夹 –

+0

你使用的是什么构建系统? –

回答

0

创建fonts目录,并在字体目录TTF格式设置字体。那么这段代码调用字体:

Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/font.ttf"); 
textViewName.setTypeface(tf); 

您的字体必须在这里:

资产>字体> font.ttf

+0

已经尝试过,但不起作用。 – androidcodehunter

+0

您必须在AndroidStudio的src - > main内创建assets文件夹。这种方式适合我! –

+0

你在android库项目中使用这个解决方案吗?我正在讨论图书馆项目而不是应用程序项目。 – androidcodehunter

0

要在我的项目使用不同的字体我使用的字体图书馆。只需在gradle中添加此库。

dependencies { 
    compile 'com.vstechlab.easyfonts:easyfonts:1.0.0' 
} 

使用此库很容易。我有使用参考https://android-arsenal.com/details/1/2044

相关问题