# Breadth

Artifact: [androidx.compose.foundation:foundation](https://developer.android.com/jetpack/androidx/releases/compose-foundation) [View Source](https://cs.android.com/search?q=file:androidx/compose/foundation/style/StyleProperty.kt+class:androidx.compose.foundation.style.Breadth) Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.13.0-rc01) Common/All
- Cmn

  ```
  @ExperimentalFoundationStyleApi
  sealed class Breadth : Interpolatable
  ```
Known direct subclasses [Breadth.Distance](https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Distance), [Breadth.Fraction](https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Fraction), [Breadth.None](https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.None)

|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Distance` | Specifies absolute breadth in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Fraction` | Specifies relative breadth as a fraction of available space. |
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.None` | Represents an empty or unspecified breadth. |

*** ** * ** ***

Specifies dimension breadths for styling.

A `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth` is a value that can either be a fraction of the parent or a specific `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp` value. For example, properties for "width" and "height" are good candidates for `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth`.

## Summary

| ### Nested types |
|---|
| `class https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Distance : https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth` Specifies absolute breadth in `https://developer.android.com/reference/kotlin/androidx/compose/ui/unit/Dp`. |
| `class https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.Fraction : https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth` Specifies relative breadth as a fraction of available space. |
| `class https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth.None : https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth` Represents an empty or unspecified breadth. |

| ### Public companion properties |
|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth` | `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth#None()` Singleton instance representing no breadth. | Cmn |

| ### Protected constructors |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth#Breadth()()` | Cmn |

| ### Public functions |
|---|---|---|
| `open https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | `https://developer.android.com/reference/kotlin/androidx/compose/foundation/style/Breadth#lerp(kotlin.Any,kotlin.Float)(other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?, t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html)` This method is defined such that a value of `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` being 1.0 means that the interpolation has finished, meaning that this method should return either `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` (or something equivalent to `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)`), 0.0 meaning that the interpolation has not started, returning `this` (or something equivalent to `this`), and values in between meaning that the interpolation is at the relevant point on the timeline between `this` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)`. | Cmn |

## Public companion properties

### None

Cmn Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.13.0-rc01)

```
val None: Breadth
```

Singleton instance representing no breadth.

## Protected constructors

### Breadth

Cmn

```
protected Breadth()
```

## Public functions

### lerp

Cmn Added in [1.13.0-rc01](https://developer.android.com/jetpack/androidx/releases/compose-foundation#1.13.0-rc01)

```
open fun lerp(other: Any?, t: Float): Any?
```

This method is defined such that a value of `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` being 1.0 means that the interpolation has finished, meaning that this method should return either `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` (or something equivalent to `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)`), 0.0 meaning that the interpolation has not started, returning `this` (or something equivalent to `this`), and values in between meaning that the interpolation is at the relevant point on the timeline between `this` and `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)`. The interpolation can be extrapolated beyond 0.0 and 1.0, so negative values and values greater than 1.0 are valid.

Note that the type of `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` may not be the same as the type of `this`, however if the implementation knows how to losslessly convert from one type to another, the conversion can be made in order to optimistically provide a valid interpolation.

If `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable#lerp(kotlin.Any,kotlin.Float)` is `null`, this can be interpreted as interpolating between "nothing" or, "no effect", into whatever the value of `this` is. In this case, if it is possible to construct a version of this type that is visually or semantically equivalent to "no effect", then it might make sense to return an interpolation between that value and `this`.

If there is no known way to interpolate between the two values, the implementation should return null.

| Parameters |
|---|---|
| `other: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | The other object to be intorpolated with this one. |
| `t: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-float/index.html` | The position on the timeline. This is usually between 0 and 1, but it is valid for it to be outside of this range. |

| Returns |
|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-any/index.html?` | The interpolated object. |

| See also |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/graphics/Interpolatable` | #lerp |