# Shapes

# Shapes

Artifact:[androidx.tv:tv-material](https://developer.android.com/jetpack/androidx/releases/tv)  
[View Source](https://cs.android.com/search?q=file:androidx/tv/material3/Shapes.kt+class:androidx.tv.material3.Shapes)  
Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)

<br />

```
class Shapes
```

<br />

*** ** * ** ***

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 corners, offering a range of roundedness from square to fully circular.

There are different sizes of shapes:

- Extra Small

- Small

- Medium

- Large

- Extra Large

You can customize the shape system for all components in the[MaterialTheme](https://developer.android.com/reference/kotlin/androidx/tv/material3/MaterialTheme)or you can do it on a per component basis.

You can change the shape that a component has by overriding the shape parameter for that component. For example, by default, buttons use the shape style "full." If your product requires a smaller amount of roundedness, you can override the shape parameter with a different shape value like MaterialTheme.shapes.small.

To learn more about shapes, see[Material Design shapes](https://m3.material.io/styles/shape/overview).

## Summary

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ### Public constructors                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Shapes](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#Shapes(androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape))`(` ` extraSmall: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` small: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` medium: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` large: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` extraLarge: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) `)` |

|                                        ### Public functions                                         |
|-----------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [Shapes](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes)               | [copy](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#copy(androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape,androidx.compose.foundation.shape.CornerBasedShape))`(` ` extraSmall: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` small: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` medium: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` large: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)`,` ` extraLarge: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) `)` Returns a copy of this Shapes, optionally overriding some of the values. |
| `open operator `[Boolean](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html) | [equals](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#equals(kotlin.Any))`(other: `[Any](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html)`?)`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `open `[Int](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)                  | [hashCode](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#hashCode())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| `open `[String](https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-string/index.html)            | [toString](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#toString())`()`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |

|                                                 ### Public properties                                                 |
|-----------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) | [extraLarge](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraLarge()) A shape style with 4 same-sized corners whose size are bigger than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large())and smaller than[CircleShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/package-summary#CircleShape()).  |
| [CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) | [extraSmall](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraSmall()) A shape style with 4 same-sized corners whose size are bigger than[RectangleShape](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/package-summary#RectangleShape())and smaller than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small()). |
| [CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) | [large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large()) A shape style with 4 same-sized corners whose size are bigger than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium())and smaller than[Shapes.extraLarge](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraLarge()).                          |
| [CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) | [medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium()) A shape style with 4 same-sized corners whose size are bigger than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small())and smaller than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large()).                                    |
| [CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape) | [small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small()) A shape style with 4 same-sized corners whose size are bigger than[Shapes.extraSmall](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraSmall())and smaller than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium()).                          |

## Public constructors

### Shapes

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
Shapes(
    extraSmall: CornerBasedShape = ShapeDefaults.ExtraSmall,
    small: CornerBasedShape = ShapeDefaults.Small,
    medium: CornerBasedShape = ShapeDefaults.Medium,
    large: CornerBasedShape = ShapeDefaults.Large,
    extraLarge: CornerBasedShape = ShapeDefaults.ExtraLarge
)
```  

|                                                                            Parameters                                                                            |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `extraSmall: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)` = ShapeDefaults.ExtraSmall` | A shape style with 4 same-sized corners whose size are bigger than[RectangleShape](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/package-summary#RectangleShape())and smaller than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small()). By default autocomplete menu, select menu, snackbars, standard menu, and text fields use this shape. |
| `small: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)` = ShapeDefaults.Small`           | A shape style with 4 same-sized corners whose size are bigger than[Shapes.extraSmall](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraSmall())and smaller than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium()). By default chips use this shape.                                                                                    |
| `medium: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)` = ShapeDefaults.Medium`         | A shape style with 4 same-sized corners whose size are bigger than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small())and smaller than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large()). By default cards and small FABs use this shape.                                                                                 |
| `large: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)` = ShapeDefaults.Large`           | A shape style with 4 same-sized corners whose size are bigger than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium())and smaller than[Shapes.extraLarge](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraLarge()). By default extended FABs, FABs, and navigation drawers use this shape.                                              |
| `extraLarge: `[CornerBasedShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/CornerBasedShape)` = ShapeDefaults.ExtraLarge` | A shape style with 4 same-sized corners whose size are bigger than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large())and smaller than[CircleShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/package-summary#CircleShape()). By default large FABs use this shape.                                                                 |

## Public functions

### copy

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
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.  

### equals

```
open operator fun equals(other: Any?): Boolean
```  

### hashCode

```
open fun hashCode(): Int
```  

### toString

```
open fun toString(): String
```  

## Public properties

### extraLarge

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
val extraLarge: CornerBasedShape
```

A shape style with 4 same-sized corners whose size are bigger than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large())and smaller than[CircleShape](https://developer.android.com/reference/kotlin/androidx/compose/foundation/shape/package-summary#CircleShape()). By default large FABs use this shape.  

### extraSmall

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
val extraSmall: CornerBasedShape
```

A shape style with 4 same-sized corners whose size are bigger than[RectangleShape](https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/package-summary#RectangleShape())and smaller than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small()). By default autocomplete menu, select menu, snackbars, standard menu, and text fields use this shape.  

### large

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
val large: CornerBasedShape
```

A shape style with 4 same-sized corners whose size are bigger than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium())and smaller than[Shapes.extraLarge](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraLarge()). By default extended FABs, FABs, and navigation drawers use this shape.  

### medium

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
val medium: CornerBasedShape
```

A shape style with 4 same-sized corners whose size are bigger than[Shapes.small](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#small())and smaller than[Shapes.large](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#large()). By default cards and small FABs use this shape.  

### small

Added in[1.0.0](https://developer.android.com/jetpack/androidx/releases/tv#1.0.0)  

```
val small: CornerBasedShape
```

A shape style with 4 same-sized corners whose size are bigger than[Shapes.extraSmall](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#extraSmall())and smaller than[Shapes.medium](https://developer.android.com/reference/kotlin/androidx/tv/material3/Shapes#medium()). By default chips use this shape.