What is the default text size on Android?
AndroidText SizeAndroid Problem Overview
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?
Android Solutions
Solution 1 - Android
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"
Solution 2 - Android
Looks like someone else found it: https://stackoverflow.com/questions/4285225/what-are-the-default-font-caracteristics-in-android/4285644#4285644
There someone discovered the default text size, for TextViews (which use TextAppearance.Small) it's 14sp.
Solution 3 - Android
This will return default size of text on button in pixels.
Kotlin
val size = Button(this).textSize
Java
float size = new Button(this).getTextSize();
Solution 4 - Android
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>
Solution 5 - Android
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
Solution 6 - Android
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
Solution 7 - Android
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
Solution 8 - Android
Default text size vary from device to devices
Type Dimension Micro 12 sp Small 14 sp Medium 18 sp Large 22 sp