Typography
Class
Common
class Typography
internal constructor(
val h1: TextStyle,
val h2: TextStyle,
val h3: TextStyle,
val h4: TextStyle,
val h5: TextStyle,
val h6: TextStyle,
val subtitle1: TextStyle,
val subtitle2: TextStyle,
val body1: TextStyle,
val body2: TextStyle,
val button: TextStyle,
val caption: TextStyle,
val overline: TextStyle,
)
Material Design type scale
(https://material.io/design/typography/the-type-system.html#type-scale)
The Material Design type scale includes a range of contrasting styles that support the needs of your product and its content.
The type scale is a combination of thirteen styles that are supported by the type system. It contains reusable categories of text, each with an intended application and meaning.
!Typography image
(https://developer.android.com/images/reference/androidx/compose/material/typography.png)
Secondary Constructors
constructor(
defaultFontFamily: FontFamily = FontFamily.Default,
h1: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Light,
fontSize = 96.sp,
lineHeight = 112.sp,
letterSpacing = (-1.5).sp,
),
h2: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Light,
fontSize = 60.sp,
lineHeight = 72.sp,
letterSpacing = (-0.5).sp,
),
h3: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 48.sp,
lineHeight = 56.sp,
letterSpacing = 0.sp,
),
h4: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 34.sp,
lineHeight = 36.sp,
letterSpacing = 0.25.sp,
),
h5: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 24.sp,
lineHeight = 24.sp,
letterSpacing = 0.sp,
),
h6: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Medium,
fontSize = 20.sp,
lineHeight = 24.sp,
letterSpacing = 0.15.sp,
),
subtitle1: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 16.sp,
lineHeight = 24.sp,
letterSpacing = 0.15.sp,
),
subtitle2: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Medium,
fontSize = 14.sp,
lineHeight = 24.sp,
letterSpacing = 0.1.sp,
),
body1: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 16.sp,
lineHeight = 24.sp,
letterSpacing = 0.5.sp,
),
body2: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 14.sp,
lineHeight = 20.sp,
letterSpacing = 0.25.sp,
),
button: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Medium,
fontSize = 14.sp,
lineHeight = 16.sp,
letterSpacing = 1.25.sp,
),
caption: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 12.sp,
lineHeight = 16.sp,
letterSpacing = 0.4.sp,
),
overline: TextStyle =
DefaultTextStyle.copy(
fontWeight = FontWeight.Normal,
fontSize = 10.sp,
lineHeight = 16.sp,
letterSpacing = 1.5.sp,
),
) : this(
h1 = h1.withDefaultFontFamily(defaultFontFamily),
h2 = h2.withDefaultFontFamily(defaultFontFamily),
h3 = h3.withDefaultFontFamily(defaultFontFamily),
h4 = h4.withDefaultFontFamily(defaultFontFamily),
h5 = h5.withDefaultFontFamily(defaultFontFamily),
h6 = h6.withDefaultFontFamily(defaultFontFamily),
subtitle1 = subtitle1.withDefaultFontFamily(defaultFontFamily),
subtitle2 = subtitle2.withDefaultFontFamily(defaultFontFamily),
body1 = body1.withDefaultFontFamily(defaultFontFamily),
body2 = body2.withDefaultFontFamily(defaultFontFamily),
button = button.withDefaultFontFamily(defaultFontFamily),
caption = caption.withDefaultFontFamily(defaultFontFamily),
overline = overline.withDefaultFontFamily(defaultFontFamily),
)
Constructor to create a Typography
. For information on the types of style defined in this
constructor, see the property documentation for Typography
.
Parameters
defaultFontFamily | the default FontFamily to be used for TextStyle s provided in this constructor. This default will be used if the FontFamily on the TextStyle is null . |
h1 | h1 is the largest headline, reserved for short, important text or numerals. |
h2 | h2 is the second largest headline, reserved for short, important text or numerals. |
h3 | h3 is the third largest headline, reserved for short, important text or numerals. |
h4 | h4 is the fourth largest headline, reserved for short, important text or numerals. |
h5 | h5 is the fifth largest headline, reserved for short, important text or numerals. |
h6 | h6 is the sixth largest headline, reserved for short, important text or numerals. |
subtitle1 | subtitle1 is the largest subtitle, and is typically reserved for medium-emphasis text that is shorter in length. |
subtitle2 | subtitle2 is the smallest subtitle, and is typically reserved for medium-emphasis text that is shorter in length. |
body1 | body1 is the largest body, and is typically used for long-form writing as it works well for small text sizes. |
body2 | body2 is the smallest body, and is typically used for long-form writing as it works well for small text sizes. |
button | button text is a call to action used in different types of buttons (such as text, outlined and contained buttons) and in tabs, dialogs, and cards. |
caption | caption is one of the smallest font sizes. It is used sparingly to annotate imagery or to introduce a headline. |
overline | overline is one of the smallest font sizes. It is used sparingly to annotate imagery or to introduce a headline. |
Functions
fun copy(
h1: TextStyle = this.h1,
h2: TextStyle = this.h2,
h3: TextStyle = this.h3,
h4: TextStyle = this.h4,
h5: TextStyle = this.h5,
h6: TextStyle = this.h6,
subtitle1: TextStyle = this.subtitle1,
subtitle2: TextStyle = this.subtitle2,
body1: TextStyle = this.body1,
body2: TextStyle = this.body2,
button: TextStyle = this.button,
caption: TextStyle = this.caption,
overline: TextStyle = this.overline,
): Typography
Returns a copy of this Typography, optionally overriding some of the values.