Извините народ что я так долго ничего не писал, да и времени не было как-то, да и интересного что написать тоже не было, все с чем работал можно с легкостью найти в интернете, но вот сегодня чего-то сложилось так что такую задачу найти сразу не смог, по этому хочу поделиться реализацией этого вопроса.
И так постала значит передо мной задача запендюрить шрифт на всю аппу один, а я до этого делал только под определенные текствьюхи шрифты, а проект здоровый, около 20 экранов, у каждого еще есть по одному \ два диалога в которых тоже нужно изменить шрифт, в общем жуть. Ну я подумал что делать для каждого TextView отдельный TypeFace и прикручивать его к TextView глупо, поэтому начал искать как сделать так что бы сразу одним махом и все элементы с текстом перевести на мой шрифт, и знаете, нашел пару решений, но они оказались не рабочими или очень сложными, а так как я не люблю сложный код я решил что надо что-то по проще и легче в усвоении.
В общем смотрите что получилось в итоге.
Нам нужно создать класс утилиту которая будет создавать TypeFace и конвертировать все вьюхи в нужный нам шрифт, вот как он будет выглядеть:
Далее нам нужно создать класс наследника Application в котором мы переопределим класс TypeFaceUtils для того что бы можно было охватить всю программу, это мы сделаем таким образом:
Ну а дальше нам осталось только в файле style.xml добавить строку которая будет назначать шрифт на все элементы дисигна приложения.
<?xml version=«1.0» encoding=«utf-8»?>
AppTheme — это обычно в стандартном файле style.xml наследник AppBaseTheme.
А теперь осталось скомпилировать приложение и вы увидите как изменился шрифт в нем.
И так постала значит передо мной задача запендюрить шрифт на всю аппу один, а я до этого делал только под определенные текствьюхи шрифты, а проект здоровый, около 20 экранов, у каждого еще есть по одному \ два диалога в которых тоже нужно изменить шрифт, в общем жуть. Ну я подумал что делать для каждого TextView отдельный TypeFace и прикручивать его к TextView глупо, поэтому начал искать как сделать так что бы сразу одним махом и все элементы с текстом перевести на мой шрифт, и знаете, нашел пару решений, но они оказались не рабочими или очень сложными, а так как я не люблю сложный код я решил что надо что-то по проще и легче в усвоении.
В общем смотрите что получилось в итоге.
Нам нужно создать класс утилиту которая будет создавать TypeFace и конвертировать все вьюхи в нужный нам шрифт, вот как он будет выглядеть:
Далее нам нужно создать класс наследника Application в котором мы переопределим класс TypeFaceUtils для того что бы можно было охватить всю программу, это мы сделаем таким образом:
Ну а дальше нам осталось только в файле style.xml добавить строку которая будет назначать шрифт на все элементы дисигна приложения.
<?xml version=«1.0» encoding=«utf-8»?>
AppTheme — это обычно в стандартном файле style.xml наследник AppBaseTheme.
А теперь осталось скомпилировать приложение и вы увидите как изменился шрифт в нем.
Комментариев нет:
Отправить комментарий