Пользовательский шрифт на Android

Я хочу использовать пользовательский шрифт в приложении для Android, но использование пользовательских шрифтов кажется болью?! Я могу настроить программный шрифт программно, добавив его в каждый TextView → много шаблонов. Я могу создать новый класс. CustomTextView расширяет TextView и добавляет setTypeface в конструктор → no xml контекстно-зависимая справка для атрибутов.

Есть ли другой способ настройки пользовательского шрифта? По XML, по стилю, по теме?

Спасибо заранее!

P.S. Есть ли возможность установить подчеркивание с помощью XML?

Ответы

Ответ 1

Вы можете включить пользовательские шрифты под активы/шрифты, а затем использовать код из

https://github.com/browep/AndroidCustomFontWidgets/

вы можете указать шрифт в вашем XML, например

<com.github.browep.customfonts.view.FontableTextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="This is in a custom font"
    app:font="MyFont-Bold.otf" />

Код поддерживает FontableTextView и FontableButton, но его довольно легко расширить для поддержки других типов виджетов, если вам нужно.

Ответ 2

используйте этот код для изменения шрифта textview..

TextView newfont;
newfont=(TextView) findViewById(R.id.textView1);
Typeface font=Typeface.createFromAsset(getAssets(), "fonts/DejaVuSerif-Italic.ttf");
newfont.setTypeface(font);
newfont.setText("This is the new font Text");

загрузите файл DejaVuSerif-Italic.ttf из Интернета и вставьте папку шрифтов в папку assets.