У меня есть смесь кнопок и собственного представления, где я устанавливаю размер текста с помощью Paint.setTextSize (). Я хочу, чтобы размер текста выглядел так же, как текст на кнопке. Теперь я, конечно, могу установить размер текста кнопки, например, 18sp, и использовать 18, на мой взгляд. Но для лучшей интеграции я просто хотел бы знать, какой размер текста «нормальный» для кнопок. Судя по моему тесту, это должно быть что-то вроде 12sp, но я не нашел никакой документации по этому поводу.
Если оставить размеры по умолчанию, в представлении останется слишком мелкий текст.
Может, стоит использовать еще один подход к этому вопросу?
abc_text_size_medium_material
(одного из стандартных размеров) дает XML-файл с размерами материала из App Compat, который содержит все стандартные размеры.Ответы:
Это вернет размер текста на кнопке по умолчанию в пикселях.
Котлин
val size = Button(this).textSize
Ява
float size = new Button(this).getTextSize();
источник
В общем:
Три значения textSize по умолчанию:
- 14sp - 18sp - 22sp
Эти значения определены в следующих TextAppearances:
- TextAppearance.Small - TextAppearance.Medium - TextAppearance.Large
Более подробную информацию о типографике можно найти в дизайну.
Связано с вашим вопросом:
Если вы не установите собственный textSize или textAppearance, будет использоваться TextAppearance.Small .
Обновление: Материальный дизайн:
Новые правила касающиеся шрифтов и гарнитур. Остается стандартное правило 14сп (тело).
Примеры того, как установить внешний вид текста
Версия AppCompat:
Версия Lollipop и выше:
источник
12sp
дляMicro
TextApperance.Micro
фактически не существует. См. Этот вопросПохоже, это кто-то нашел: каковы характеристики шрифта по умолчанию в Android?
Там кто-то обнаружил размер текста по умолчанию, для TextViews (которые используют TextAppearance.Small) это 14sp.
источник
Значения по умолчанию в 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>
источник
http://petrnohejl.github.io/Android-Cheatsheet-For-Graphic-Designers/
Text size Type Dimension Micro 12 sp Small 14 sp Medium 18 sp Large 22 sp
источник
Вы можете найти стандартные размеры для всего в Google руководстве стилю .
Вот значения, которые они используют для кнопок:
Кнопки
Английский: средний 14sp, все заглавные буквы
Плотный: средний 15 ст., Все заглавные буквы
Высокий: жирный, 15 шп.
источник
размер текста по умолчанию для текстового просмотра
если вы не использовали ни одно из следующих
TextAppearance.Small
TextAppearance.Medium
TextAppearance.Large
тогда размер по умолчанию 14sp
источник
Размер текста по умолчанию зависит от устройства.
Тип Размер Micro 12 sp Малый 14 sp Средний 18 sp Большой 22 sp
источник