I have a mixture of Buttons and an own View, where I set my text size using Paint.setTextSize(). I want the text size to look the same like the text on the Button. Now, I can of course set the text size of the button to e.g. 18sp, and use 18 in my view. But for a better integration, I simply would like to know, what text size is "normal" for buttons. From my test, it should be something like 12sp, but I have not found any documentation on this.
Leaving the default sizes leaves way too small text on the view.
Maybe I should use still another approach to this issue?
This will return default size of text on button in pixels.
Kotlin
val size = Button(this).textSize
Java
float size = new Button(this).getTextSize();
In general:
Three "default" textSize values:
- 14sp
- 18sp
- 22sp
These values are defined within the following TextAppearances:
- TextAppearance.Small
- TextAppearance.Medium
- TextAppearance.Large
More information about Typography can be found in the design guidelines
Related to your question:
If you don't set a custom textSize or textAppearance, TextAppearance.Small will be used.
Update: Material design:
New guidelines related to font and typefaces. The standard rule of 14sp remains (body).
Examples how to set textappearances
AppCompat version:
android:textAppearance="@style/TextAppearance.AppCompat.Body"
Lollipop and up version:
android:textAppearance="@android:style/TextAppearance.Material.Body"
Looks like someone else found it: What are the default font characteristics in Android ?
There someone discovered the default text size, for TextViews (which use TextAppearance.Small) it's 14sp.
Default values in 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
You can find standard sizes for everything in Google's style guide.
Here are the values they use for for buttons:
Buttons
English: Medium 14sp, all caps
Dense: Medium 15sp, all caps
Tall: Bold 15sp
the default text size of the textview
if you not used any of the below
TextAppearance.Small
TextAppearance.Medium
TextAppearance.Large
then the default size is 14sp
Default text size vary from device to devices
Type Dimension Micro 12 sp Small 14 sp Medium 18 sp Large 22 sp
来源:https://stackoverflow.com/questions/5611411/what-is-the-default-text-size-on-android