Gravity
public
class
Gravity
extends Object
java.lang.Object | |
↳ | android.view.Gravity |
Standard constants and tools for placing an object within a potentially larger container.
Summary
Constants | |
---|---|
int |
AXIS_CLIP
Raw bit controlling whether the right/bottom edge is clipped to its container, based on the gravity direction being applied. |
int |
AXIS_PULL_AFTER
Raw bit controlling how the right/bottom edge is placed. |
int |
AXIS_PULL_BEFORE
Raw bit controlling how the left/top edge is placed. |
int |
AXIS_SPECIFIED
Raw bit indicating the gravity for an axis has been specified. |
int |
AXIS_X_SHIFT
Bits defining the horizontal axis. |
int |
AXIS_Y_SHIFT
Bits defining the vertical axis. |
int |
BOTTOM
Push object to the bottom of its container, not changing its size. |
int |
CENTER
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size. |
int |
CENTER_HORIZONTAL
Place object in the horizontal center of its container, not changing its size. |
int |
CENTER_VERTICAL
Place object in the vertical center of its container, not changing its size. |
int |
CLIP_HORIZONTAL
Flag to clip the edges of the object to its container along the horizontal axis. |
int |
CLIP_VERTICAL
Flag to clip the edges of the object to its container along the vertical axis. |
int |
DISPLAY_CLIP_HORIZONTAL
Special constant to enable clipping to an overall display along the horizontal dimension. |
int |
DISPLAY_CLIP_VERTICAL
Special constant to enable clipping to an overall display along the vertical dimension. |
int |
END
Push object to x-axis position at the end of its container, not changing its size. |
int |
FILL
Grow the horizontal and vertical size of the object if needed so it completely fills its container. |
int |
FILL_HORIZONTAL
Grow the horizontal size of the object if needed so it completely fills its container. |
int |
FILL_VERTICAL
Grow the vertical size of the object if needed so it completely fills its container. |
int |
HORIZONTAL_GRAVITY_MASK
Binary mask to get the absolute horizontal gravity of a gravity. |
int |
LEFT
Push object to the left of its container, not changing its size. |
int |
NO_GRAVITY
Constant indicating that no gravity has been set * |
int |
RELATIVE_HORIZONTAL_GRAVITY_MASK
Binary mask for the horizontal gravity and script specific direction bit. |
int |
RELATIVE_LAYOUT_DIRECTION
Raw bit controlling whether the layout direction is relative or not (START/END instead of absolute LEFT/RIGHT). |
int |
RIGHT
Push object to the right of its container, not changing its size. |
int |
START
Push object to x-axis position at the start of its container, not changing its size. |
int |
TOP
Push object to the top of its container, not changing its size. |
int |
VERTICAL_GRAVITY_MASK
Binary mask to get the vertical gravity of a gravity. |
Public constructors | |
---|---|
Gravity()
|
Public methods | |
---|---|
static
void
|
apply(int gravity, int w, int h, Rect container, int xAdj, int yAdj, Rect outRect)
Apply a gravity constant to an object. |
static
void
|
apply(int gravity, int w, int h, Rect container, Rect outRect, int layoutDirection)
Apply a gravity constant to an object and take care if layout direction is RTL or not. |
static
void
|
apply(int gravity, int w, int h, Rect container, int xAdj, int yAdj, Rect outRect, int layoutDirection)
Apply a gravity constant to an object. |
static
void
|
apply(int gravity, int w, int h, Rect container, Rect outRect)
Apply a gravity constant to an object. |
static
void
|
applyDisplay(int gravity, Rect display, Rect inoutObj)
Apply additional gravity behavior based on the overall "display" that an object exists in. |
static
void
|
applyDisplay(int gravity, Rect display, Rect inoutObj, int layoutDirection)
Apply additional gravity behavior based on the overall "display" that an object exists in. |
static
int
|
getAbsoluteGravity(int gravity, int layoutDirection)
Convert script specific gravity to absolute horizontal value. |
static
boolean
|
isHorizontal(int gravity)
Indicate whether the supplied gravity has an horizontal pull. |
static
boolean
|
isVertical(int gravity)
Indicate whether the supplied gravity has a vertical pull. |
Inherited methods | |
---|---|
Constants
AXIS_CLIP
public static final int AXIS_CLIP
Raw bit controlling whether the right/bottom edge is clipped to its container, based on the gravity direction being applied.
Constant Value: 8 (0x00000008)
AXIS_PULL_AFTER
public static final int AXIS_PULL_AFTER
Raw bit controlling how the right/bottom edge is placed.
Constant Value: 4 (0x00000004)
AXIS_PULL_BEFORE
public static final int AXIS_PULL_BEFORE
Raw bit controlling how the left/top edge is placed.
Constant Value: 2 (0x00000002)
AXIS_SPECIFIED
public static final int AXIS_SPECIFIED
Raw bit indicating the gravity for an axis has been specified.
Constant Value: 1 (0x00000001)
AXIS_X_SHIFT
public static final int AXIS_X_SHIFT
Bits defining the horizontal axis.
Constant Value: 0 (0x00000000)
AXIS_Y_SHIFT
public static final int AXIS_Y_SHIFT
Bits defining the vertical axis.
Constant Value: 4 (0x00000004)
BOTTOM
public static final int BOTTOM
Push object to the bottom of its container, not changing its size.
Constant Value: 80 (0x00000050)
CENTER
public static final int CENTER
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
Constant Value: 17 (0x00000011)
CENTER_HORIZONTAL
public static final int CENTER_HORIZONTAL
Place object in the horizontal center of its container, not changing its size.
Constant Value: 1 (0x00000001)
CENTER_VERTICAL
public static final int CENTER_VERTICAL
Place object in the vertical center of its container, not changing its size.
Constant Value: 16 (0x00000010)
CLIP_HORIZONTAL
public static final int CLIP_HORIZONTAL
Flag to clip the edges of the object to its container along the horizontal axis.
Constant Value: 8 (0x00000008)
CLIP_VERTICAL
public static final int CLIP_VERTICAL
Flag to clip the edges of the object to its container along the vertical axis.
Constant Value: 128 (0x00000080)
DISPLAY_CLIP_HORIZONTAL
public static final int DISPLAY_CLIP_HORIZONTAL
Special constant to enable clipping to an overall display along the
horizontal dimension. This is not applied by default by
apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect)
; you must do so
yourself by calling applyDisplay(int, Rect, Rect)
.
Constant Value: 16777216 (0x01000000)
DISPLAY_CLIP_VERTICAL
public static final int DISPLAY_CLIP_VERTICAL
Special constant to enable clipping to an overall display along the
vertical dimension. This is not applied by default by
apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect)
; you must do so
yourself by calling applyDisplay(int, Rect, Rect)
.
Constant Value: 268435456 (0x10000000)
END
public static final int END
Push object to x-axis position at the end of its container, not changing its size.
Constant Value: 8388613 (0x00800005)
FILL
public static final int FILL
Grow the horizontal and vertical size of the object if needed so it completely fills its container.
Constant Value: 119 (0x00000077)
FILL_HORIZONTAL
public static final int FILL_HORIZONTAL
Grow the horizontal size of the object if needed so it completely fills its container.
Constant Value: 7 (0x00000007)
FILL_VERTICAL
public static final int FILL_VERTICAL
Grow the vertical size of the object if needed so it completely fills its container.
Constant Value: 112 (0x00000070)
HORIZONTAL_GRAVITY_MASK
public static final int HORIZONTAL_GRAVITY_MASK
Binary mask to get the absolute horizontal gravity of a gravity.
Constant Value: 7 (0x00000007)
LEFT
public static final int LEFT
Push object to the left of its container, not changing its size.
Constant Value: 3 (0x00000003)
NO_GRAVITY
public static final int NO_GRAVITY
Constant indicating that no gravity has been set *
Constant Value: 0 (0x00000000)
RELATIVE_HORIZONTAL_GRAVITY_MASK
public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK
Binary mask for the horizontal gravity and script specific direction bit.
Constant Value: 8388615 (0x00800007)
RELATIVE_LAYOUT_DIRECTION
public static final int RELATIVE_LAYOUT_DIRECTION
Raw bit controlling whether the layout direction is relative or not (START/END instead of absolute LEFT/RIGHT).
Constant Value: 8388608 (0x00800000)
RIGHT
public static final int RIGHT
Push object to the right of its container, not changing its size.
Constant Value: 5 (0x00000005)
START
public static final int START
Push object to x-axis position at the start of its container, not changing its size.
Constant Value: 8388611 (0x00800003)
TOP
public static final int TOP
Push object to the top of its container, not changing its size.
Constant Value: 48 (0x00000030)
VERTICAL_GRAVITY_MASK
public static final int VERTICAL_GRAVITY_MASK
Binary mask to get the vertical gravity of a gravity.
Constant Value: 112 (0x00000070)
Public constructors
Gravity
public Gravity ()
Public methods
apply
public static void apply (int gravity, int w, int h, Rect container, int xAdj, int yAdj, Rect outRect)
Apply a gravity constant to an object.
Parameters | |
---|---|
gravity |
int : The desired placement of the object, as defined by the
constants in this class. |
w |
int : The horizontal size of the object. |
h |
int : The vertical size of the object. |
container |
Rect : The frame of the containing space, in which the object
will be placed. Should be large enough to contain the
width and height of the object.
This value cannot be null . |
xAdj |
int : Offset to apply to the X axis. If gravity is LEFT this
pushes it to the right; if gravity is RIGHT it pushes it to
the left; if gravity is CENTER_HORIZONTAL it pushes it to the
right or left; otherwise it is ignored. |
yAdj |
int : Offset to apply to the Y axis. If gravity is TOP this pushes
it down; if gravity is BOTTOM it pushes it up; if gravity is
CENTER_VERTICAL it pushes it down or up; otherwise it is
ignored. |
outRect |
Rect : Receives the computed frame of the object in its
container.
This value cannot be null . |
apply
public static void apply (int gravity, int w, int h, Rect container, Rect outRect, int layoutDirection)
Apply a gravity constant to an object and take care if layout direction is RTL or not.
Parameters | |
---|---|
gravity |
int : The desired placement of the object, as defined by the
constants in this class. |
w |
int : The horizontal size of the object. |
h |
int : The vertical size of the object. |
container |
Rect : The frame of the containing space, in which the object
will be placed. Should be large enough to contain the
width and height of the object.
This value cannot be null . |
outRect |
Rect : Receives the computed frame of the object in its
container.
This value cannot be null . |
layoutDirection |
int : The layout direction. |
apply
public static void apply (int gravity, int w, int h, Rect container, int xAdj, int yAdj, Rect outRect, int layoutDirection)
Apply a gravity constant to an object.
Parameters | |
---|---|
gravity |
int : The desired placement of the object, as defined by the
constants in this class. |
w |
int : The horizontal size of the object. |
h |
int : The vertical size of the object. |
container |
Rect : The frame of the containing space, in which the object
will be placed. Should be large enough to contain the
width and height of the object.
This value cannot be null . |
xAdj |
int : Offset to apply to the X axis. If gravity is LEFT this
pushes it to the right; if gravity is RIGHT it pushes it to
the left; if gravity is CENTER_HORIZONTAL it pushes it to the
right or left; otherwise it is ignored. |
yAdj |
int : Offset to apply to the Y axis. If gravity is TOP this pushes
it down; if gravity is BOTTOM it pushes it up; if gravity is
CENTER_VERTICAL it pushes it down or up; otherwise it is
ignored. |
outRect |
Rect : Receives the computed frame of the object in its
container.
This value cannot be null . |
layoutDirection |
int : The layout direction. |
apply
public static void apply (int gravity, int w, int h, Rect container, Rect outRect)
Apply a gravity constant to an object. This supposes that the layout direction is LTR.
Parameters | |
---|---|
gravity |
int : The desired placement of the object, as defined by the
constants in this class. |
w |
int : The horizontal size of the object. |
h |
int : The vertical size of the object. |
container |
Rect : The frame of the containing space, in which the object
will be placed. Should be large enough to contain the
width and height of the object. |
outRect |
Rect : Receives the computed frame of the object in its
container. |
applyDisplay
public static void applyDisplay (int gravity, Rect display, Rect inoutObj)
Apply additional gravity behavior based on the overall "display" that an
object exists in. This can be used after
apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect)
to place the object
within a visible display. By default this moves or clips the object
to be visible in the display; the gravity flags
DISPLAY_CLIP_HORIZONTAL
and DISPLAY_CLIP_VERTICAL
can be used to change this behavior.
Parameters | |
---|---|
gravity |
int : Gravity constants to modify the placement within the
display. |
display |
Rect : The rectangle of the display in which the object is
being placed.
This value cannot be null . |
inoutObj |
Rect : Supplies the current object position; returns with it
modified if needed to fit in the display.
This value cannot be null . |
applyDisplay
public static void applyDisplay (int gravity, Rect display, Rect inoutObj, int layoutDirection)
Apply additional gravity behavior based on the overall "display" that an
object exists in. This can be used after
apply(int, int, int, android.graphics.Rect, int, int, android.graphics.Rect)
to place the object
within a visible display. By default this moves or clips the object
to be visible in the display; the gravity flags
DISPLAY_CLIP_HORIZONTAL
and DISPLAY_CLIP_VERTICAL
can be used to change this behavior.
Parameters | |
---|---|
gravity |
int : Gravity constants to modify the placement within the
display. |
display |
Rect : The rectangle of the display in which the object is
being placed.
This value cannot be null . |
inoutObj |
Rect : Supplies the current object position; returns with it
modified if needed to fit in the display.
This value cannot be null . |
layoutDirection |
int : The layout direction. |
getAbsoluteGravity
public static int getAbsoluteGravity (int gravity, int layoutDirection)
Convert script specific gravity to absolute horizontal value.
if horizontal direction is LTR, then START will set LEFT and END will set RIGHT. if horizontal direction is RTL, then START will set RIGHT and END will set LEFT.Parameters | |
---|---|
gravity |
int : The gravity to convert to absolute (horizontal) values. |
layoutDirection |
int : The layout direction. |
Returns | |
---|---|
int |
gravity converted to absolute (horizontal) values. |
isHorizontal
public static boolean isHorizontal (int gravity)
Indicate whether the supplied gravity has an horizontal pull.
Parameters | |
---|---|
gravity |
int : the gravity to check for horizontal pull |
Returns | |
---|---|
boolean |
true if the supplied gravity has an horizontal pull |
isVertical
public static boolean isVertical (int gravity)
Indicate whether the supplied gravity has a vertical pull.
Parameters | |
---|---|
gravity |
int : the gravity to check for vertical pull |
Returns | |
---|---|
boolean |
true if the supplied gravity has a vertical pull |