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

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

Я строю для Android 4 и выше.


person Sam    schedule 15.07.2015    source источник


Ответы (4)


Этот проект может быть полезен: https://github.com/chrisjenx/Calligraphy

person Aurélien Leloup    schedule 15.07.2015
comment
Это определенно полезно. - person Sam; 23.07.2015

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

person DMC    schedule 15.07.2015

Вам нужно настроить его вручную, перебирая все дочерние элементы вашей корневой ViewGroup, обычно в onCreate() в Activity или onCreateView() в Fragment

person Marcin Orlowski    schedule 15.07.2015

Я думаю, что лучший способ сделать это — создать свой собственный класс.

Например, для TextView создайте класс MyTextView, расширяющий TextView. В каждом конструкторе добавьте вызов метода init:

public void init() {
     Typeface typeface = Typeface.createFromAsset(context.getAssets(), "your_ttf_file");
      setTypeface(typeface);
}

Затем замените все вхождения TextView в ваши xml-файлы на your.package.MyTextView.

Тогда все ваши TextView имеют хороший шрифт.

person sonic    schedule 15.07.2015