preloaded_fonts не работает программно, если не указано ни в одном макете

После добавления загружаемых шрифтов с помощью Android Studio (на основе /questions/27238107/android-ispolzovanie-sobstvennogo-shrifta/27238117#27238117) я не могу загружать добавленные шрифты программным способом.

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 ответ

Решение

Чтобы получить доступ к шрифту программным способом, вам нужно создать запрос шрифта.

Прочитайте эту официальную документацию

Если вы думаете, что это длительный процесс, вы всегда можете указать его в xml и установить его видимость Gone, если вам не нужно представление

Другие вопросы по тегам