如果未在任何布局中指定,preloaded_fonts将无法以编程方式工作

时间:2018-06-16 17:04:53

标签: android android-fonts

使用android studio添加可下载字体后(基于https://stackoverflow.com/a/47793223),我无法以编程方式加载添加的字体。

ResourcesCompat.getFont(context, R.font.roboto)

导致以下错误

android.content.res.Resources$NotFoundException: Font resource ID #0x7f080009
at android.support.v4.content.res.ResourcesCompat.loadFont(ResourcesCompat.java:218)
at android.support.v4.content.res.ResourcesCompat.getFont(ResourcesCompat.java:196)

但是,一旦我在某些布局文件中指定相同的字体,如

android:fontFamily="@font/roboto"

有效。

它现在也开始以编程方式开始工作。

1 个答案:

答案 0 :(得分:0)

要以编程方式访问字体,您需要创建字体请求。

阅读this官方文件

如果您认为这是一个漫长的过程,您可以随时在xml中指定它,如果您不需要视图,则可以将其可见性设置为Gone