Как уменьшить размер шрифта в Android Studio
Можно ли уменьшить размер шрифта в Android Studio? Больно уж неудобно ползать по классам, когда они по 300+ строк кода, а на экран вмещается всего лишь 50 !
Отслеживать
8,331 4 4 золотых знака 26 26 серебряных знаков 48 48 бронзовых знаков
задан 23 ноя 2015 в 14:57
user189127 user189127
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
можно. это в File > Settings
- Editor > General > Change font size (Zoom) with Ctrl + Mouse Wheel — галочку нужно поставить
- Editor > Color & Fonts > Font > Size : 14

Отслеживать
ответ дан 23 ноя 2015 в 15:02
8,331 4 4 золотых знака 26 26 серебряных знаков 48 48 бронзовых знаков
Спасибо, через 7 минут приму ответ. Сайт ругается.
– user189127
23 ноя 2015 в 15:05
Стоит заметить, что для дефолтных тем нельзя изменить размер шрифта в настройках. Предварительно нужно создать собственную тему — копию дефолтной, нажав на кнопку Save As .. и уже в ней менять шрифт и все, что угодно.
23 ноя 2015 в 15:09
@pavlofff согласень ! Тут на рисунке это указано. Спасибо
23 ноя 2015 в 15:11
Да, заработало! Только установленный по умолчанию шрифт вручную всё равно не меняется, зато теперь таки заработал Ctrl+мышка и решила мою проблему. Не понятно, зачем сделали это разрешение на изменение шрифта, будто в AS проблем нет. Издевательство над организмом.
Как изменить размер шрифта элемента textview в Android?
Используйте sp, если пользователь может перемасштабировать текст, не нарушая пользовательский интерфейс. Если перемасштабирование текста нарушит пользовательский интерфейс, используйте dp.
Ags1 12 июль 2014, в 19:03
Поделиться
Разве нам не нужно использовать SP для размеров шрифта? Я думаю, что это должно быть 40sp, а не 40dp
Neon Warge 26 фев. 2015, в 02:03
Спасибо! Оно работает.
rzaaeeff 09 сен. 2015, в 20:22
Используйте sp, если пользователь может изменить масштаб текста, не нарушая пользовательский интерфейс. Если изменение масштаба текста нарушит интерфейс, используйте dp. stackoverflow.com/a/11638914/2713250
Ags1 11 нояб. 2015, в 11:06
Показать ещё 1 комментарий
Один из способов — использовать метод TextView.setText() и передать его с помощью HTML, например:
import android.text.Html; String n = "bold small"; TextView tv = (TextView) findViewById(. ) tv.setText(Html.fromHtml(n));
Я часто использую его для некоторой незначительной разметки (например, сделайте часть более смелой или меньшей)
pelotasplus 20 март 2013, в 15:01
Поделиться
эм, вопрос был об изменении шрифта: — / Ответ Shade выглядит хорошо!
pelotasplus 20 март 2013, в 13:05
В методе fromHtml есть опечатка. Вместо этого написано formHtml.
mpccolorado 08 май 2016, в 02:59
Используйте класс HTML из этой ссылки http://code.google.com/p/android-richtexteditor/source/browse/trunk/src/net/sgoliver/Html.java?r=4. Мы могли бы установить размер шрифта из этого класса. Обычный android.text.Html фактически игнорирует размер шрифта. Пробовал и тестировал, и это сработало для меня.
TextView tv = (TextView)findViewById(R.id.textview); String s = "Some Text here
hi \"italics underline
"; tv.setText(Html.fromHtml(s));
Vny Kumar 08 апр. 2013, в 12:55
Поделиться
Размер не работает. Вы можете использовать только или
Tobliug 09 апр. 2015, в 21:17
Вы должны добавить строку в текстовом представлении тега в XML:
android:textSize="32sp"
neha 24 июль 2018, в 13:22
Поделиться
Вы можете использовать html для этого следующим образом:
mytextView.setText(Html.fromHtml(" Push this button to start a new game.
"))
удалите атрибуты цвета и стиля, если они вам не нужны.
Akhilesh Mani 20 март 2013, в 13:13
Поделиться
Ещё вопросы
- 0 Проверка в PHP не понимается
- 0 Дайджест аутентификации API CodeIgniter Rest
- 1 Масштабирование повернутого прямоугольника и поиск новых контрольных точек и центра
- 1 Какой SearchView хорош для более высокого API?
- 0 Сохранять правки FORM при закрытии HTML-файлов
- 0 Преобразовать выбранную строку в JSON — PHP
- 0 JQuery запускающее действие при загрузке страницы
- 1 pg-обещание цепочки запросов для задачи и транзакций
- 0 Как я могу поместить функции в другой файл CS?
- 0 Как я могу сгруппировать вывод из моего MySQL Query, я хочу суммировать вывод equipCost по ID. т.е. я хочу, чтобы аккаунт стоил SUM’d для их аккаунта
- 0 Как привязать ответные данные из моего пост-метода контроллера в MVC
- 0 Как я могу переключить элемент с вектора на другой в C ++?
- 0 UDP-сообщения продолжают поступать даже после остановки клиента или перезапуска сервера
- 1 Почему java.nio.SocketChannel не отправляет данные (Jdiameter)?
- 1 Отображение полей месяца в DatePickerDialog в числовом формате вместо алфавитного
- 1 Autowire a Set, определенный как в Spring
- 1 Как узнать, играет ли звук с помощью C #?
- 1 Установка генератора на конкретное значение
- 0 как перейти на страницу без углов в транспортире? [Дубликат]
- 1 Key Listener не работает?
- 0 Mysql создать представление, связывающее две таблицы
- 1 Как сказать Python HTMLParser остановиться
- 1 конвертировать double в строку и показывать десятичные значения только в случае необходимости [duplicate]
- 1 XmlResolver не вызывается с помощью XslCompiledTransform
- 0 Как работает этот блок блокировки?
- 0 Условно добавить строку в HTML с угловым выражением
- 1 Как получить путь для исполняемого файла, учитывая ТОЛЬКО имя исполняемого файла?
- 0 Html.toHtml () не конвертирует текст RelativeSizeSpan ‘ed
- 0 Cordova Hybrid App Design — Контроллеры
- 0 Ошибка msvcr110d.dll! memcpy при тестировании структур и массивов
- 0 Получить имя родителя в дочерней записи в IN () из той же таблицы в Mysql
- 0 Javascript конвертировать строку для вызова в качестве функции
- 0 Относительный путь 2 уровня вверх в JavaScript
- 0 Как решить поле ‘classname’ имеет ошибку неполного типа
- 1 Контрольные суммы CRC32 различаются в библиотеках Zlib Ruby и Python
- 1 Ожидается ошибка преобразования JSON: после ключа
- 0 Regex Lookahead проблема и улучшение
- 0 Переменная поля формы электронной почты
- 0 Время удержания в базе данных: STRING vs TIMESTAMP
- 0 Очистить разметку AngularJs
- 0 jQuery — добавление CSS3-анимации в div с использованием jQuery.
- 1 Подождите, пока страница полностью загрузится с webdriverjs
- 0 .htaccess vs chmod в чем разница с точки зрения разрешения
- 0 Ошибка Facebook и Codeigniter T_OBJECT_OPERATOR
- 0 Как отправить данные в HTTP-запросе POST при вызове URL?
- 0 Установите опцию по умолчанию в меню выбора, не сохраняя ее в модели
- 0 c ++ — повторное использование std :: fstream
- 1 Проблемы запуска Spring с JUnit
- 1 Java JComboBox внешний вид
- 0 Выделение локальных переменных в стеке и использование арифметики с указателями
Как в Android Studio изменить шрифт стандартной темы на кастомный?
В самой дефолтной теме приложение которая автоматически применяется в Android Studio для каждого нового проекта сверху,под статус баром,отображается панелька синего цвета с названием приложения.Каким образом можно отредактировать шрифт на этой панельке?
- Вопрос задан более трёх лет назад
- 4779 просмотров
Комментировать
Решения вопроса 1

Software Engineer
У класса Typeface определены стандартные шрифты, достаточно переопределить нужные значения и будет Вам счастье.
public class Typeface < . /** The default NORMAL typeface object */ public static final Typeface DEFAULT; /** * The default BOLD typeface object. Note: this may be not actually be * bold, depending on what fonts are installed. Call getStyle() to know * for sure. */ public static final Typeface DEFAULT_BOLD; /** The NORMAL style of the default sans serif typeface. */ public static final Typeface SANS_SERIF; /** The NORMAL style of the default serif typeface. */ public static final Typeface SERIF; /** The NORMAL style of the default monospace typeface. */ public static final Typeface MONOSPACE; . >
Можно ещё сделать примерно так:
Потом в коде установить шрифт:
Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontAssetName); TextView toolbarTitle = (TextView) findViewById(R.id.toolbar_title); toolbarTitle.setTypeface(typeface);
Урок 5. Атрибут app:fontFamily. Использование Font-Awesome для отображения иконок
В этом уроке нам необходимо привести внешний вид всех TextView на нашем макете в порядок, чтобы он соответствовал тому, что мы хотели сделать вначале.

Для этого нам необходимо:
- Применить стили, TextAppearance
- Добавить шрифт Awesome-font в проект.
Работа с атрибутом fontFamily
Помните, что в предыдущем уроке мы добавили с вами 3 стиля для текста:
- Text
- Text.Primary
- Text.Secondary
В нашем приложении весь текст будет использовать стандартный Android шрифт. Круто, что мы уже добавили стили в наше приложение. Теперь нам достаточно добавить атрибут для указания шрифта в одном месте. Сделаем это, добавив атрибут
resources> Остальные элементы сверху не изменились --> style name="Text"> item name="android:textSize">16spitem> item name="fontFamily">sans-serifitem> style> Остальные элементы снизу не изменились --> resources>
Атрибут
Этот атрибут указывает шрифт текста. В данном случае мы используем стандартный шрифт Roboto из AndroidSdk .
Наши изменения автоматически применятся к нашему layout , т.к. ссылки на стили остались те же самые.
В принципе, внешний вид не изменился, т.к. Android по умолчанию применяет этот шрифт. Мы сделали это в учебных целях.
Добавление веса текста для первого TextView
Теперь нам осталось изменить стиль для самого первого TextView . Видим, что он значительно больше по размеру текста и шрифт имеет больший вес. Вес шрифта можно задавать атрибутом «android:textStyle»= bold | italic | normal . Мы будем использовать значение bold .
Давайте создадим ещё один стиль TextView.Primary.Header . Из названия видим, что стиль наследуется от TextView.Primary и добавляет свои атрибуты. Аналогично поступим со стилем для этого текста, который назовём Text.Primary.Header .
resources> Остальные элементы сверху не изменились --> style name="TextView.Primary.Header"> item name="android:textAppearance">@style/Text.Primary.Headeritem> style> style name="Text.Primary.Header"> item name="android:textSize">22spitem> item name="android:textStyle">bolditem> style> Остальные элементы снизу не изменились --> resources>
Применим его в layout файле:
RelativeLayout> Остальные элементы сверху не изменились --> TextView android:id="@+id/user_name_text_view" android:layout_below="@id/user_image_view" style="@style/TextView.Primary.Header" android:layout_marginTop="@dimen/text_small_margin" android:text="Имя"/> Остальные элементы снизу не изменились --> RelativeLayout>
Посмотрим, что получилось:

То, что надо. Идём дальше.
Добавление элементов, отображающих количество читателей и читаемых
Нам необходимо добавить количество читателей и читаемых, как отображено на экране:

Вначале создадим для наших элементов отдельный стиль текста Text.Primary.Bold , в котором будем использовать атрибут android:textStyle = bold . А в стиле для элемента TextView.Primary.Bold будем просто включать в себя этот стиль для текста.
resources> Остальные элементы сверху не изменились --> style name="Text.Primary.Bold"> item name="android:textStyle">bolditem> style> style name="TextView.Primary.Bold"> item name="android:textAppearance">@style/Text.Primary.Bolditem> style> resources>
Затем нам необходимо определиться с вариантом добавления элементов на наш layout .
Есть два варианта для отображения текстов разных стилей(4 читателя), визуально которые кажутся одним TextView :
- Объединять элементы в один TextView . Изменять их стили в java коде, используя класс Spannable .
- Делать их разными TextView .
На начальном этапе использование Spannable повысит сложность, поэтому пока не будем использовать этот подход.
Мы создадим два новых TextView , которые расположим рядом с элементами following_text_view , followers_text_view .
RelativeLayout> Остальные элементы сверху не изменились --> TextView android:id="@+id/following_count_text_view" android:layout_below="@id/user_location_text_view" style="@style/TextView.Primary.Bold" android:layout_marginTop="@dimen/text_small_margin" android:text="4"/> TextView android:id="@+id/following_text_view" android:layout_toEndOf="@+id/following_count_text_view" android:layout_below="@id/user_location_text_view" style="@style/TextView.Secondary" android:layout_marginTop="@dimen/text_small_margin" android:layout_marginStart="5dp" android:text="@string/following_hint"/> TextView android:id="@+id/followers_count_text_view" android:layout_toEndOf="@+id/following_text_view" android:layout_below="@id/user_location_text_view" style="@style/TextView.Primary.Bold" android:layout_marginTop="@dimen/text_small_margin" android:layout_marginStart="20dp" android:text="4"/> TextView android:id="@+id/followers_text_view" android:layout_below="@id/user_location_text_view" android:layout_toEndOf="@+id/followers_count_text_view" style="@style/TextView.Secondary" android:layout_marginTop="@dimen/text_small_margin" android:layout_marginStart="10dp" android:text="@string/followers_hint"/> RelativeLayout>
Добавление текстовой иконки местоположения
Как вы уже поняли, иконку местоположения мы будем делать, используя TextView , применяя к нему шрифт, который поддерживает текстовые иконки.
Выглядит текстовая иконка, которую нам необходимо добавить, так:
![]()
Давайте пока вместо текста в TextView для этой иконки поставим букву i . Чуть ниже решим эту проблему.
xml version="1.0" encoding="utf-8"?> RelativeLayout> Остальные элементы сверху не изменились --> TextView android:id="@+id/user_location_icon_text_view" android:layout_below="@id/user_description_text_view" style="@style/TextView.Secondary" android:layout_marginTop="@dimen/text_small_margin" android:text="i"/> TextView android:id="@+id/user_location_text_view" android:text="Местоположение" android:layout_below="@id/user_description_text_view" android:layout_toEndOf="@id/user_location_icon_text_view" android:layout_marginStart="10dp" android:layout_marginTop="@dimen/text_small_margin" style="@style/TextView.Secondary"/> Остальные элементы снизу не изменились --> RelativeLayout>
После этих изменений наш layout выглядит следующим образом:

Теперь нам надо отобразить реальную иконку местоположения. Есть два варианта:
- Скачать готовую .png -картинку и использовать ImageView
- Использовать шрифт текста, который поддерживает иконки ( Font-Awesome , Ionicons и т.д.).
Второй вариант кажется намного более практичным (это вы увидите чуть позже). Давайте его и рассмотрим. Вариант с .png мы тоже рассмотрим, но не в этом уроке.
Добавление папки font в проект
Первое, что нам надо сделать это добавить в проект папку font , куда можно помещать новые шрифты, которые нам понадобятся. Для этого переходим в дерево проекта, нажимаем правой кнопкой по папке res , выбираем New->Android resource directory .

В появившемся окне необходимо ввести название папки и её тип. Вводим в поле Directory name значение font , в поле Resource type выбираем также значение font (если сперва выбрать тип, то поле с именем папки автоматически заполнится значением font ), поле Source set не меняем (должно быть значение main ). Выглядит это так.

Нажимаем OK . После этого в списке директорий должна появиться папка font .

Теперь нам осталось скачать файл шрифта Font-Awesome , который понадобится нам для отображения иконки местоположения. Для этого переходим на официальный сайт. Нажимаем на кнопку Download .

После этого выбираем вариант бесплатного скачивания и загружаем шрифт на компьютер.

Отлично, после этого открываем архив и копируем файл font-awesome-4.7.0 -> fonts->fontawesome-webfont.ttf в нашу директорию font в проекте. Только обязательно переименуйте его название (потому что Android Studio не разрешает использовать символ — в названии) на font_awesome
Это был последний шаг, теперь наш шрифт у нас в проекте. Выглядеть он должен следующим образом:

Поиск иконки
Возвращаемся на сайт за поиском необходимой нам иконки. Все иконки находятся здесь. Нужная нам иконка находится здесь:
![]()
Всё, что нам надо знать – это юникод-символ данной иконки. Давайте создадим текстовый ресурс в файле values/strings.xml .
resources> Остальные элементы сверху не изменились --> string name="fa_map_marker">\uf041string> resources>
Мы добавили ресурс fa_map_marker . Это и есть символ нашей иконки. Чтобы добавлять unicode символы необходимо ставить символ \u перед кодом.
Теперь давайте изменим стиль нашего TextView , который должен отображать нужный нам символ нужным шрифтом.
Создадим стиль TextIcon , который будет добавлять шрифт font_awesome .
resources> Остальные элементы сверху не изменились --> style name="TextIcon" parent="TextView.Secondary"> item name="fontFamily">@font/font_awesomeitem> style> resources>
Мы добавили стиль TextIcon , который наследуется от TextView.Secondary (потому что все иконки в нашем приложении будут такого же цвета и размера как TextSecondary ) и добавили свойство, в котором указали, что мы будем использовать font_awesome .
Теперь изменим атрибуты нашего TextView , который отвечает за отображение иконки местоположения. Давайте добавим стиль, который мы только что создали и ссылку на ресурс иконки.
RelativeLayout> Остальные элементы снизу не изменились --> TextView android:id="@+id/user_location_icon_text_view" android:layout_below="@id/user_description_text_view" style="@style/TextIcon" android:layout_marginTop="@dimen/text_small_margin" android:text="@string/fa_map_marker"/> Остальные элементы снизу не изменились --> RelativeLayout>
Посмотрим результат на вкладке Preview :

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

Проблема с некоторыми шрифтами – они не отображаются в режиме Preview , однако на обычном устройстве с ними всё хорошо.
Единственное, что бросается в глаза – иконка расположена чуть выше текста Местоположение . Для того чтобы выровнять их давайте добавим свойство android:layout_alignBaseline=»@id/user_location_text_view» . Это свойство выравнивает элементы по линии текста. В нашем случае это и надо.
RelativeLayout> Остальные элементы снизу не изменились --> TextView android:id="@+id/user_location_icon_text_view" android:layout_below="@id/user_description_text_view" android:layout_alignBaseline="@id/user_location_text_view" style="@style/TextIcon" android:layout_marginTop="@dimen/text_small_margin" android:text="@string/fa_map_marker"/> Остальные элементы снизу не изменились --> RelativeLayout>
Видим, что теперь элементы выровнены:

Зачем столько проблем, если можно было использовать обычную .png картинку, не подключаю никаких шрифтов? Давайте перечислим преимущества font иконок перед .png :
- Вы можете менять размер, цвет font иконок, меняя атрибуты текста. В случае с .png вам надо использовать графический редактор и каждый раз изменять картинку.
- Текстовые иконки растягиваются в зависимости от плотности и разрешения экрана, не теряя при этом качества. Для .png нам надо создавать файлы для каждого разрешения экрана, что тоже занимает немало времени.
- Русскоязычные:
- Android и кастомные шрифты или «Да здравствует API 26»
- Официальная документация. Шрифты
- Официальная документация. Шрифты в XML
- Официальная документация. Загружаемые шрифты
Полный листинг изменений кода: