在Android-Library项目中使用Typeface.createFromFile(文件文件)加载字体

时间:2014-08-19 04:42:58

标签: android file android-library typeface

我为Android创建了一个库项目,我想使用Typeface.createFromFile()等方法为文本加载字体。

我选择了Typeface.createFromFile(文件文件)方法,因为Android Lib不支持AssetManager,所以我不能使用Typeface.createFromAsset(..)。

我正在考虑使用android资源的Raw文件夹。但我只使用context.getResources.openRawResource(R.raw.comic_sans)获取文件的InputStream,我不能在Typeface.createFromFile(文件文件)中使用它。

另一种选择是尝试使用internal storage,但我不知道是否可以在项目时间内将文件移动到那里。

如果我找不到解决方案,我仍然可以设计lib来使用正在使用此库的应用程序的AssetManager。但我真的不想要它。

示例我要做的事情:

Paint textPaint = new Paint();
Typeface typeface = Typeface.createFromFile("comic_sans.ttf");
textPaint.setTypeface(typeface);

1 个答案:

答案 0 :(得分:-2)

我认为问题是如何将某些内容设置为特定字体?

这里是如何:

  1. 在项目的app > src > main目录中创建一个文件夹并将其命名为" assets"
  2. 下载要导入的指定TrueType font file(这是您要导入的字体)
  3. 将指定的TrueType font file移至资产文件夹
  4. 在您的java类中,在onCreate方法中输入:
  5. 示例代码:

    Typeface test_font = Typeface.createFromAsset(this.getResources().getAssets(),"example_font.ttf");
    TextView exampleTextView = (TextView) findViewById(R.id.textView1);
    exampleTextView.setTypeface(test_font);
    

    最后,导入任何缺失的内容

    希望这会有所帮助