Перейти к содержимому

Как увеличить шрифт в андроид студио

  • автор:

Как уменьшить размер шрифта в Android Studio

Можно ли уменьшить размер шрифта в Android Studio? Больно уж неудобно ползать по классам, когда они по 300+ строк кода, а на экран вмещается всего лишь 50 !

Отслеживать
8,331 4 4 золотых знака 26 26 серебряных знаков 48 48 бронзовых знаков
задан 23 ноя 2015 в 14:57
user189127 user189127

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

можно. это в File > Settings

  1. Editor > General > Change font size (Zoom) with Ctrl + Mouse Wheel — галочку нужно поставить
  2. 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

abler98

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 на нашем макете в порядок, чтобы он соответствовал тому, что мы хотели сделать вначале.

UserInfoLayout.png

Для этого нам необходимо:

  • Применить стили, TextAppearance
  • Добавить шрифт Awesome-font в проект.

Работа с атрибутом fontFamily

Помните, что в предыдущем уроке мы добавили с вами 3 стиля для текста:

  • Text
  • Text.Primary
  • Text.Secondary

В нашем приложении весь текст будет использовать стандартный Android шрифт. Круто, что мы уже добавили стили в наше приложение. Теперь нам достаточно добавить атрибут для указания шрифта в одном месте. Сделаем это, добавив атрибут sans-serif к нашему базовому стилю для текста Text .

resources>  Остальные элементы сверху не изменились --> style name="Text"> item name="android:textSize">16spitem> item name="fontFamily">sans-serifitem> style>  Остальные элементы снизу не изменились --> resources>

Атрибут sans-serif указывается без префикса android , потому что он находится в пакете support library , позволяющей использовать виджеты и атрибуты новых версий Android на старых устройствах.

Этот атрибут указывает шрифт текста. В данном случае мы используем стандартный шрифт 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>

Посмотрим, что получилось:

UserInfoTypography.png

То, что надо. Идём дальше.

Добавление элементов, отображающих количество читателей и читаемых

Нам необходимо добавить количество читателей и читаемых, как отображено на экране:

FollowersCountRow.png

Вначале создадим для наших элементов отдельный стиль текста 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 , применяя к нему шрифт, который поддерживает текстовые иконки.

Выглядит текстовая иконка, которую нам необходимо добавить, так:

LocationIcon.png

Давайте пока вместо текста в 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 выглядит следующим образом:

UserInfoLayoutFullRaw.png

Теперь нам надо отобразить реальную иконку местоположения. Есть два варианта:

  • Скачать готовую .png -картинку и использовать ImageView
  • Использовать шрифт текста, который поддерживает иконки ( Font-Awesome , Ionicons и т.д.).

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

Добавление папки font в проект

Первое, что нам надо сделать это добавить в проект папку font , куда можно помещать новые шрифты, которые нам понадобятся. Для этого переходим в дерево проекта, нажимаем правой кнопкой по папке res , выбираем New->Android resource directory .

FontsFolderMenu.png

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

FontsFolderReady.png

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

FontsFolderCreated.png

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

FontAwesomeSite.png

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

FontAwesomeFreeDownload.png

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

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

FontAwesomeInProject.png

Поиск иконки

Возвращаемся на сайт за поиском необходимой нам иконки. Все иконки находятся здесь. Нужная нам иконка находится здесь:

FaLocationIcon.png

Всё, что нам надо знать – это юникод-символ данной иконки. Давайте создадим текстовый ресурс в файле 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 :

UserInfoFaPreview.png

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

UserInfoLayoutFaDone.png

Проблема с некоторыми шрифтами – они не отображаются в режиме 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>

Видим, что теперь элементы выровнены:

UserInfoLayoutFaCompleted.png

Зачем столько проблем, если можно было использовать обычную .png картинку, не подключаю никаких шрифтов? Давайте перечислим преимущества font иконок перед .png :

  • Вы можете менять размер, цвет font иконок, меняя атрибуты текста. В случае с .png вам надо использовать графический редактор и каждый раз изменять картинку.
  • Текстовые иконки растягиваются в зависимости от плотности и разрешения экрана, не теряя при этом качества. Для .png нам надо создавать файлы для каждого разрешения экрана, что тоже занимает немало времени.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *