未应用从SD卡加载带有Typeface.createFromFile的字体

问题描述 投票:0回答:1

[使用Typeface.createFromAsset(getAssets(), "fonts/myfont.ttf")或使用mContext.getResources().getFont(R.font.myfont)的字体资源创建android字体时,在两种情况下,都可以通过myView.setTypeface(myTypeface)按预期应用字体。

但是使用Typeface.createFromFile("/path/to/myfont.ttf")从模拟的sdcard加载相同的字体文件会成功创建Typeface对象,但设置字体无效,并且视图将使用默认字体显示。传递Font实例而不是字符串不会更改任何内容。

为什么会这样,有没有办法使它正常工作?

读取外部存储is granted和文件的权限可由应用程序访问和读取。

android fonts android-sdcard android-typeface
1个回答
0
投票

我怀疑问题是您指向字体文件的直接路径。因为在Android上它可能非常复杂,所以我建议您尝试以下操作:

File file = new File(Environment.getExternalStorageDirectory(), filename);
Typeface tf = Typeface.createFromFile(file);
© www.soinside.com 2019 - 2024. All rights reserved.