Могу ли я встроить пользовательский шрифт в приложение для Android?

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

Ответ 1

Да, вы можете, вы не можете определить его в xml-макетах. Вы должны использовать его динамически каждый раз. Например, этот учебник.

Если ссылка мертва, вот сумма вещей:

  • Получить файл шрифта, например times.otf
  • Поместите его в папку с вашим ресурсом, в папку "fonts"
  • Получить ссылку TextView с чем-то вроде этого:

    TextView tv = (TextView) findViewById(R.id.myCustomTVFont);
    
  • Возьмите шрифт из папки с ресурсами:

    Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/times.otf");
    
  • Сделайте свой TextView великолепным:

    tv.setTypeface(tf);
    

Ответ 2

Вы можете посмотреть в этом потоке, а также установить пользовательские шрифты для всех видов в вашей деятельности.

Ответ 3

Начиная с Android 8.0 (уровень API 26), вы можете использовать шрифты в XML. См. Документацию здесь.