MeasureSpec
open class MeasureSpec
kotlin.Any | |
↳ | android.view.View.MeasureSpec |
A MeasureSpec encapsulates the layout requirements passed from parent to child. Each MeasureSpec represents a requirement for either the width or the height. A MeasureSpec is comprised of a size and a mode. There are three possible modes:
- UNSPECIFIED
- The parent has not imposed any constraint on the child. It can be whatever size it wants.
- EXACTLY
- The parent has determined an exact size for the child. The child is going to be given those bounds regardless of how big it wants to be.
- AT_MOST
- The child can be as large as it wants up to the specified size.
Summary
Constants | |
---|---|
static Int |
Measure specification mode: The child can be as large as it wants up to the specified size. |
static Int |
Measure specification mode: The parent has determined an exact size for the child. |
static Int |
Measure specification mode: The parent has not imposed any constraint on the child. |
Public constructors | |
---|---|
Public methods | |
---|---|
open static Int |
Extracts the mode from the supplied measure specification. |
open static Int |
Extracts the size from the supplied measure specification. |
open static Int |
makeMeasureSpec(size: Int, mode: Int) Creates a measure specification based on the supplied size and mode. |
open static String! |
Returns a String representation of the specified measure specification. |
Constants
AT_MOST
static val AT_MOST: Int
Measure specification mode: The child can be as large as it wants up to the specified size.
Value: -2147483648
EXACTLY
static val EXACTLY: Int
Measure specification mode: The parent has determined an exact size for the child. The child is going to be given those bounds regardless of how big it wants to be.
Value: 1073741824
UNSPECIFIED
static val UNSPECIFIED: Int
Measure specification mode: The parent has not imposed any constraint on the child. It can be whatever size it wants.
Value: 0
Public constructors
MeasureSpec
MeasureSpec()
Public methods
getMode
open static fun getMode(measureSpec: Int): Int
Extracts the mode from the supplied measure specification.
Parameters | |
---|---|
measureSpec |
Int: the measure specification to extract the mode from |
getSize
open static fun getSize(measureSpec: Int): Int
Extracts the size from the supplied measure specification.
Parameters | |
---|---|
measureSpec |
Int: the measure specification to extract the size from |
Return | |
---|---|
Int |
the size in pixels defined in the supplied measure specification |
makeMeasureSpec
open static fun makeMeasureSpec(
size: Int,
mode: Int
): Int
Creates a measure specification based on the supplied size and mode. The mode must always be one of the following:
android.view.View.MeasureSpec#UNSPECIFIED
android.view.View.MeasureSpec#EXACTLY
android.view.View.MeasureSpec#AT_MOST
Note: On API level 17 and lower, makeMeasureSpec's implementation was such that the order of arguments did not matter and overflow in either value could impact the resulting MeasureSpec. android.widget.RelativeLayout
was affected by this bug. Apps targeting API levels greater than 17 will get the fixed, more strict behavior.
Parameters | |
---|---|
size |
Int: the size of the measure specification Value is between 0 and (1 << MeasureSpec.MODE_SHIFT) - 1 inclusive |
mode |
Int: the mode of the measure specification Value is android.view.View.MeasureSpec#UNSPECIFIED , android.view.View.MeasureSpec#EXACTLY , or android.view.View.MeasureSpec#AT_MOST |
Return | |
---|---|
Int |
the measure specification based on size and mode |
toString
open static fun toString(measureSpec: Int): String!
Returns a String representation of the specified measure specification.
Parameters | |
---|---|
measureSpec |
Int: the measure specification to convert to a String |
Return | |
---|---|
String! |
a String with the following format: "MeasureSpec: MODE SIZE" |