Class Overview
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.
MeasureSpecs are implemented as ints to reduce object allocation. This class
is provided to pack and unpack the <size, mode> tuple into the int.
Summary
Constants |
int |
AT_MOST |
Measure specification mode: The child can be as large as it wants up
to the specified size. |
int |
EXACTLY |
Measure specification mode: The parent has determined an exact size
for the child. |
int |
UNSPECIFIED |
Measure specification mode: The parent has not imposed any constraint
on the child. |
Public Methods |
static
int
|
getMode(int measureSpec)
Extracts the mode from the supplied measure specification.
|
static
int
|
getSize(int measureSpec)
Extracts the size from the supplied measure specification.
|
static
int
|
makeMeasureSpec(int size, int mode)
Creates a measure specification based on the supplied size and mode.
|
static
String
|
toString(int measureSpec)
Returns a String representation of the specified measure
specification.
|
[Expand]
Inherited Methods |
From class
java.lang.Object
Object
|
clone()
Creates and returns a copy of this Object .
|
boolean
|
equals(Object o)
Compares this instance with the specified object and indicates if they
are equal.
|
void
|
finalize()
Invoked when the garbage collector has detected that this instance is no longer reachable.
|
final
Class<?>
|
getClass()
Returns the unique instance of Class that represents this
object's class.
|
int
|
hashCode()
Returns an integer hash code for this object.
|
final
void
|
notify()
Causes a thread which is waiting on this object's monitor (by means of
calling one of the wait() methods) to be woken up.
|
final
void
|
notifyAll()
Causes all threads which are waiting on this object's monitor (by means
of calling one of the wait() methods) to be woken up.
|
String
|
toString()
Returns a string containing a concise, human-readable description of this
object.
|
final
void
|
wait()
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object.
|
final
void
|
wait(long millis, int nanos)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
final
void
|
wait(long millis)
Causes the calling thread to wait until another thread calls the notify() or notifyAll() method of this object or until the
specified timeout expires.
|
|
Constants
public
static
final
int
AT_MOST
Measure specification mode: The child can be as large as it wants up
to the specified size.
Constant Value:
-2147483648
(0x80000000)
public
static
final
int
EXACTLY
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.
Constant Value:
1073741824
(0x40000000)
public
static
final
int
UNSPECIFIED
Measure specification mode: The parent has not imposed any constraint
on the child. It can be whatever size it wants.
Constant Value:
0
(0x00000000)
Public Constructors
public
View.MeasureSpec
()
Public Methods
public
static
int
getMode
(int measureSpec)
Extracts the mode from the supplied measure specification.
Parameters
measureSpec
| the measure specification to extract the mode from |
public
static
int
getSize
(int measureSpec)
Extracts the size from the supplied measure specification.
Parameters
measureSpec
| the measure specification to extract the size from |
Returns
- the size in pixels defined in the supplied measure specification
public
static
int
makeMeasureSpec
(int size, int mode)
Creates a measure specification based on the supplied size and mode.
The mode must always be one of the following:
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.
RelativeLayout
was affected by this bug.
Apps targeting API levels greater than 17 will get the fixed, more strict
behavior.
Parameters
size
| the size of the measure specification |
mode
| the mode of the measure specification |
Returns
- the measure specification based on size and mode
public
static
String
toString
(int measureSpec)
Returns a String representation of the specified measure
specification.
Parameters
measureSpec
| the measure specification to convert to a String |
Returns
- a String with the following format: "MeasureSpec: MODE SIZE"