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, если вам не нужно представление