有没有办法通过传递URL直接使用TypeFace?

时间:2017-12-04 07:11:20

标签: android api fonts

我正在尝试直接从api使用字体。这是ABeeZee字体的api http://fonts.gstatic.com/s/abeezee/v11/kpplLynmYgP0YtlJA3atRw.ttf

通常,如果我的字体存储在assets / fonts文件夹中,我可以使用

TextView heading = (TextView) view.findViewById(R.id.heading);
    Typeface typeFace = Typeface.createFromAsset(context.getAssets(), "fonts/ABeZee.ttf");
    heading.setTypeface(typeFace);
    heading.setText(headerInfo.getName().trim());

但我想直接传递api使用它。有什么办法吗?

1 个答案:

答案 0 :(得分:0)

如果您预先下载字体。所以将它们保存在app cache目录中

getFilesDir()- To get your own files dir , your package name and "/files" need to be appended to it.

通过这种方式,您的字体将是安全的(用户将手动删除它们的机会减少)。在创建字体之前检查文件。

private Typeface getFont(String filePath){
    File file=new File(filePath);
    if(file.exists()) {
        Typeface typeface = Typeface.createFromFile("filePath");
        return typeface;
    }
    return null;
}