无法使用Typeface.createFromFile()更改视图的字体样式

时间:2016-08-11 13:52:23

标签: android android-studio

我必须使用<h1>images</h1> <img><br/> <img><br/> <img><br/>在用户的memopry中使用字体的位置,因此字体文件将由用户选择,然后用于更改视图的字体。我无法使用Typeface.createFromFile(),因为字体文件是动态的,可以由用户选择。下面的代码是用于更改textview字体样式的示例代码,但它不起作用。我怎么处理呢?

Typeface.createFromAsset(getAssets(),"FileAssets");

1 个答案:

答案 0 :(得分:1)

File file = new File("sdcard/testfont.font.ttf");

这不是有效路径。使用适当的方法在external storage上构建字体文件的路径。

如果您在尝试Android时,将字体作为testfont.font.ttf文件放在外部存储的根目录中,请使用:

File file = new File(Environment.getExternalStorageDirectory(), "testfont.font.ttf"));

请注意,您需要持有READ_EXTERNAL_STORAGEWRITE_EXTERNAL_STORAGE权限才能访问此位置,如果targetSdkVersion是{{1}},则需要您实施runtime permissions设置为23或更高。