Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Как изменить шрифт во всем приложении?

#android #android_studio #шрифты #textview


Долго искал код для того чтобы сделать кастомный шрифт на все приложение

и наконец то нашел его! Огромное спасибо Глебу Кравченко!

Ссылка на источник: http://dajver.blogspot.com/2014/10/blog-post.html
    


Ответы

Ответ 1



Суть в том, что нам необходимо создать класс-утилиту которая будет создавать TypeFace и конвертировать все вьюхи в нужный нам шрифт, вот как он будет выглядеть: import android.content.Context; import android.graphics.Typeface; import java.lang.reflect.Field; public class TypefaceUtil { public static void overrideFont(Context context, String defaultFontNameToOverride, String customFontFileNameInAssets) { try { final Typeface customFontTypeface = Typeface.createFromAsset(context.getAssets(), customFontFileNameInAssets); final Field defaultFontTypefaceField = Typeface.class.getDeclaredField(defaultFontNameToOverride); defaultFontTypefaceField.setAccessible(true); defaultFontTypefaceField.set(null, customFontTypeface); } catch (Exception e) {} } } Затем необходимо создать папку assets и в ней создать папку fonts для наших шрифтов. Далее нужно добавить эту строку в главное активити, в метод onCreate: TypefaceUtil.overrideFont(getApplicationContext(), "SANS_SERIF", "fonts/Roboto-Regular.ttf"); Вместо "Roboto-Regular.ttf" вы указываете свой шрифт. Также можно сделать этот код на какую-нибудь кнопку. И в заключении добавляете в файл styles.xml эти строки: Все! Запускаете приложение и наслаждаетесь)

Комментариев нет:

Отправить комментарий