Какой размер текста по умолчанию на Android?


140

У меня есть смесь кнопок и собственного представления, где я устанавливаю размер текста с помощью Paint.setTextSize (). Я хочу, чтобы размер текста выглядел так же, как текст на кнопке. Теперь я, конечно, могу установить размер текста кнопки, например, 18sp, и использовать 18, на мой взгляд. Но для лучшей интеграции я просто хотел бы знать, какой размер текста «нормальный» для кнопок. Судя по моему тесту, это должно быть что-то вроде 12sp, но я не нашел никакой документации по этому поводу.

Если оставить размеры по умолчанию, в представлении останется слишком мелкий текст.

Может, стоит использовать еще один подход к этому вопросу?


1
Ну вроде неизвестно. Поэтому я выбираю 16сп. Это выглядит достаточно хорошо, но не слишком маленьким (мне уже нужны очки или HTC HD :-) Кстати, чтобы масштабировать шрифт для графики, вам нужно сначала найти коэффициент масштабирования для вашего устройства с помощью float scale = getContext ( ) .getResources (). getDisplayMetrics (). density; Умножьте это на желаемый размер текста в sp и установите размер с помощью Paint.setTextSize.
Рене


Поиск в Интернете abc_text_size_medium_material(одного из стандартных размеров) дает XML-файл с размерами материала из App Compat, который содержит все стандартные размеры.
Ричард Ле

Ответы:


42

Это вернет размер текста на кнопке по умолчанию в пикселях.


Котлин

val size = Button(this).textSize


Ява

float size = new Button(this).getTextSize();

209

В общем:

Три значения textSize по умолчанию:

 - 14sp
 - 18sp
 - 22sp

Эти значения определены в следующих TextAppearances:

 - TextAppearance.Small
 - TextAppearance.Medium
 - TextAppearance.Large

Более подробную информацию о типографике можно найти в дизайну.

Связано с вашим вопросом:

Если вы не установите собственный textSize или textAppearance, будет использоваться TextAppearance.Small .


Обновление: Материальный дизайн:

Новые правила касающиеся шрифтов и гарнитур. Остается стандартное правило 14сп (тело).

Примеры того, как установить внешний вид текста

Версия AppCompat:

android: textAppearance = "@ style / TextAppearance.AppCompat.Body"

Версия Lollipop и выше:

android: textAppearance = "@ android: style / TextAppearance.Material.Body"


1
Хотел бы добавить к приведенному выше списку, 12spдляMicro
Рам Патра

2
С другой стороны, TextApperance.Microфактически не существует. См. Этот вопрос
Эндрю Т.

1
Интересно, что даже в теме «Материал» малые / средние / большие размеры по-прежнему имеют размер 14/18/22, хотя 18 и 22 не являются стандартными размерами согласно руководству по типографике материалов. Предположительно это для обратной совместимости.
Karsten


18

Значения по умолчанию в appcompat-v7

<dimen name="abc_text_size_body_1_material">14sp</dimen>
<dimen name="abc_text_size_body_2_material">14sp</dimen>
<dimen name="abc_text_size_button_material">14sp</dimen>
<dimen name="abc_text_size_caption_material">12sp</dimen>
<dimen name="abc_text_size_display_1_material">34sp</dimen>
<dimen name="abc_text_size_display_2_material">45sp</dimen>
<dimen name="abc_text_size_display_3_material">56sp</dimen>
<dimen name="abc_text_size_display_4_material">112sp</dimen>
<dimen name="abc_text_size_headline_material">24sp</dimen>
<dimen name="abc_text_size_large_material">22sp</dimen>
<dimen name="abc_text_size_medium_material">18sp</dimen>
<dimen name="abc_text_size_menu_material">16sp</dimen>
<dimen name="abc_text_size_small_material">14sp</dimen>
<dimen name="abc_text_size_subhead_material">16sp</dimen>
<dimen name="abc_text_size_subtitle_material_toolbar">16dp</dimen>
<dimen name="abc_text_size_title_material">20sp</dimen>
<dimen name="abc_text_size_title_material_toolbar">20dp</dimen>


3

Вы можете найти стандартные размеры для всего в Google руководстве стилю .

Вот значения, которые они используют для кнопок:

Кнопки

Английский: средний 14sp, все заглавные буквы

Плотный: средний 15 ст., Все заглавные буквы

Высокий: жирный, 15 шп.


2

размер текста по умолчанию для текстового просмотра

если вы не использовали ни одно из следующих

TextAppearance.Small

TextAppearance.Medium

TextAppearance.Large

тогда размер по умолчанию 14sp


0

Размер текста по умолчанию зависит от устройства.

Тип Размер Micro 12 sp Малый 14 sp Средний 18 sp Большой 22 sp

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.