public class TextUnit internal constructor(internal val packedValue: Long)
The unit used for text related dimension value.
This unit can hold either scaled pixels (SP), relative font size (EM) and special unit Unspecified for indicating inheriting from other style or using the default value. It can be created with sp or em. (e.g. 15.sp or 18.em) which can be applied to Int, Double, and Float.
Note that do not store this value in your persistent storage or send to another process since the internal representation may be changed in future.
Properties
type
public val type: TextUnitType
A type information of this TextUnit.
isSp
public val isSp: Boolean
True if this is a SP unit type.
isEm
public val isEm: Boolean
True if this is a EM unit type.
value
public val value: Float
Returns the value of this TextUnit.
For example, the value of 3.sp equals to 3, and value of 5.em equals to 5. The value of TextUnits whose TextUnitType is TextUnitType.Unspecified is undefined.
Functions
unaryMinus
public inline operator fun unaryMinus(): TextUnit
This is the same as multiplying the TextUnit by -1.0.
This operation works only if the operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
div
public inline operator fun div(other: Float): TextUnit
Divide a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
div
public inline operator fun div(other: Double): TextUnit
Divide a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
div
public inline operator fun div(other: Int): TextUnit
Divide a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
times
public inline operator fun times(other: Float): TextUnit
Multiply a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
times
public inline operator fun times(other: Double): TextUnit
Multiply a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
times
public inline operator fun times(other: Int): TextUnit
Multiply a TextUnit by a scalar.
This operation works only if the left operand is not equal to TextUnit.Unspecified. The result of this operation is the same unit type of the given one.
Throws: IllegalArgumentException
if this TextUnit's type is TextUnitType.Unspecified.
compareTo
public inline operator fun compareTo(other: TextUnit): Int
Support comparing Dimensions with comparison operators.
Return
0 if this TextUnit equals to the other, a negative number if it's less than the other, or a positive number if it's greater than the other.
Throws: IllegalArgumentException
if this TextUnit and the other has different TextUnitTypes or either of the two has the TextUnitType equals to TextUnitType.Unspecified.
Members
Companion
public companion object
Properties
Unspecified
public val Unspecified: TextUnit
A special TextUnit instance for representing inheriting from parent value.
Notice that performing arithmetic operations on Unspecified may result in an IllegalArgumentException.