如何在android库项目中使用自定义字体?

时间:2016-03-15 07:30:17

标签: android android-library

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

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);
        }
    }

3 个答案:

答案 0 :(得分:0)

感染你可以做很多事情。最简单的解决方案之一是

你可以编写一个在某个SD卡文件夹中复制粘贴字体的功能,并确保它是静态的。现在您可以从该路径创建类型

createFromFile(String path)

http://developer.android.com/reference/android/graphics/Typeface.html

答案 1 :(得分:0)

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

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

使用这个库非常容易。我使用了引用https://android-arsenal.com/details/1/2044

答案 2 :(得分:-1)

在assets文件夹中创建fonts目录,并在字体目录中使用ttf格式设置字体。然后通过以下代码调用字体:

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

你的字体必须在这里:

  

资产>字体> font.ttf