Shapes

Class

Android
public class Shapes(
    public val extraSmall: CornerBasedShape = ShapeDefaults.ExtraSmall,
    public val small: CornerBasedShape = ShapeDefaults.Small,
    public val medium: CornerBasedShape = ShapeDefaults.Medium,
    public val large: CornerBasedShape = ShapeDefaults.Large,
    public val extraLarge: CornerBasedShape = ShapeDefaults.ExtraLarge,
)

Material surfaces can be displayed in different shapes. Shapes direct attention, identify components, communicate state, and express brand.

The shape scale defines the style of container, offering a range of curved shapes (mostly polygonal). The default Shapes theme for Material3 is rounded rectangles, with various degrees of corner roundness:

  • Extra Small
  • Small
  • Medium
  • Large
  • Extra Large

You can customize the shape system for all components in the MaterialTheme or you can do it on a per component basis by overriding the shape parameter for that component. For example, by default, buttons use the shape style "large". If your product requires a smaller amount of roundness, you can override the shape parameter with a different shape value like Shapes.small.

Parameters

extraSmallBy default, provides ShapeDefaults.ExtraSmall, a RoundedCornerShape with 4dp CornerSize (used by bundled Cards).
smallBy default, provides ShapeDefaults.Small, a RoundedCornerShape with 8dp CornerSize.
mediumBy default, provides ShapeDefaults.Medium, a RoundedCornerShape with 18dp CornerSize (used by shape-shifting Buttons and rounded rectangle buttons).
largeBy default, provides ShapeDefaults.Large, a RoundedCornerShape with 26dp CornerSize (used by Cards).
extraLargeBy default, provides ShapeDefaults.ExtraLarge, a RoundedCornerShape with 36dp CornerSize.

Functions

public fun copy(
        extraSmall: CornerBasedShape = this.extraSmall,
        small: CornerBasedShape = this.small,
        medium: CornerBasedShape = this.medium,
        large: CornerBasedShape = this.large,
        extraLarge: CornerBasedShape = this.extraLarge,
    ): Shapes

Returns a copy of this Shapes, optionally overriding some of the values.