Dimension value representing device-independent pixels (dp).

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

plus

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

Add two Dps together.


minus

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

Subtract a Dp from another one.


unaryMinus

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

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


div

inline operator fun div(other: Float): Dp

Divide a Dp by a scalar.


div

inline operator fun div(other: Int): Dp

div

inline operator fun div(other: Dp): Float

Divide by another Dp to get a scalar.


times

inline operator fun times(other: Float): Dp

Multiply a Dp by a scalar.


times

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.