создать шрифт из идентификатора ресурса шрифта

Я пытался использовать Typeface.createFromAsset(getAssets(),"font/myfont.ttf"));

Я знаю, что каталог шрифтов должен быть в активах, но в моем случае у меня есть существующий каталог ресурсов шрифтов, поэтому я думал, что менеджер ресурсов будет читать из каталога ресурсов шрифтов, но я ошибался. Я создаю Typeface, чтобы установить собственный шрифт для CollapsingToolbarLayout.

Я нашел этот ответ, но он требует, чтобы я сохранил шрифт в активах


person sziraqui    schedule 08.02.2018    source источник
comment
Я предлагаю вам следовать этому очень хорошему руководству. Подробнее здесь   -  person Eselfar    schedule 08.02.2018


Ответы (2)


Это сработало

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

Нашел это в ссылке на учебник @Eselfar

person sziraqui    schedule 08.02.2018
comment
Если @Eselfar уже ответил на ваш вопрос, то почему вы публикуете дополнительное решение, если вопрос задан любым другим человеком, так что это приемлемо. Пожалуйста, не делайте этого для получения дополнительного балла. - person Amit raj; 26.04.2019
comment
Во-первых, когда я опубликовал это, я не знал, что это поможет стольким людям. Во-вторых, вопросы без ответов остаются устаревшими на SO, поэтому рекомендуется сообщить сообществу, что решило вашу проблему, и, таким образом, закрыть свой вопрос. Наконец, в будущем ссылка может разорваться, поэтому публикация соответствующей строки из длинной статьи всегда полезна и, очевидно, не является средством начисления очков. Это сообщество, а не соревнование, поэтому перестаньте строить предположения и помогите людям. - person sziraqui; 28.04.2019
comment
Я думаю, что объяснил себя достаточно ясно, хотя мне и не нужно было. Если вас это не устраивает, вы можете задать вопрос в мете, и моды скажут, как правильно себя вести. Но перед этим прочитайте правила сообщества QnA и скажите им, какие правила, по вашему мнению, я нарушаю. Раздел комментариев не для словесных войн. - person sziraqui; 01.05.2019

Если вы хотите создать TypeFace из шрифта, хранящегося в папке с ресурсами,

введите описание изображения здесь

вам не нужно определять каталог, просто имя шрифта:

Typeface typeface =  Typeface.createFromAsset(getAssets(),"app_font.ttf");

Вы можете создать гарнитуру, используя идентификатор ресурса шрифта, хранящийся в папке /font следующим образом:

Typeface typeface = ResourcesCompat.getFont(this, R.font.app_font);

ваш шрифт должен быть сохранен в каталоге /font

введите описание изображения здесь

person Jorgesys    schedule 21.05.2018
comment
ОП спрашивал о шрифтах в папке res, а не об активах. - person gyleg5; 12.03.2019