Dp

Class

Common
value class Dp(val value: Float) : Comparable<Dp>

Dimension value representing device-independent pixels (dp). Component APIs specify their dimensions such as line thickness in DP with Dp objects. Hairline (1 pixel) thickness may be specified with Hairline, a dimension that take up no space. Dp are normally defined using dp, which can be applied to Int, Double, and Float.

Drawing and Layout are done in pixels. To retrieve the pixel size of a Dp, use Density.toPx:

Functions

inline operator fun plus(other: Dp) = Dp(this.value + other.value)

Add two Dps together.

inline operator fun minus(other: Dp) = Dp(this.value - other.value)

Subtract a Dp from another one.

inline operator fun unaryMinus() = Dp(-value)

This is the same as multiplying the Dp by -1.0.

inline operator fun div(other: Float): Dp

Divide a Dp by a scalar.

inline operator fun div(other: Int): Dp
inline operator fun div(other: Dp): Float

Divide by another Dp to get a scalar.

inline operator fun times(other: Float): Dp

Multiply a Dp by a scalar.

inline operator fun times(other: Int): Dp

Companion Object

Properties

Common
val Hairline = Dp(0f)

A dimension used to represent a hairline drawing element. Hairline elements take up no space, but will draw a single pixel, independent of the device's resolution and density.

Common
val Infinity = Dp(Float.POSITIVE_INFINITY)

Infinite dp dimension.

Common
val Unspecified = Dp(Float.NaN)

Constant that means unspecified Dp. Instead of comparing a Dp value to this constant, consider using isSpecified and isUnspecified instead.

Code Examples

DpSample

@Composable
fun DpSample() {
    Box(
        Modifier.padding(
            10.dp, // Int
            10f.dp, // Float
            20.0.dp, // Double
            10.dp,
        )
    )
}

ToPxSample

@Composable
fun ToPxSample() {
    val lineThickness = 6.dp
    Canvas(Modifier.fillMaxSize()) {
        val lineThicknessPx = lineThickness.toPx()
        inset(lineThicknessPx / 2) { drawRect(Color.Red, style = Stroke(lineThicknessPx)) }
    }
}