GravityCompat
public final class GravityCompat
Compatibility shim for accessing newer functionality from Gravity
.
Summary
Constants |
|
---|---|
static final int |
END = 8388613 Push object to x-axis position at the end of its container, not changing its size. |
static final int |
RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615 Binary mask for the horizontal gravity and script specific direction bit. |
static final int |
RELATIVE_LAYOUT_DIRECTION = 8388608 Raw bit controlling whether the layout direction is relative or not (START/END instead of absolute LEFT/RIGHT). |
static final int |
START = 8388611 Push object to x-axis position at the start of its container, not changing its size. |
Public methods |
|
---|---|
static void |
apply( Apply a gravity constant to an object and take care if layout direction is RTL or not. |
static void |
apply( Apply a gravity constant to an object. |
static void |
applyDisplay( 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. |
Constants
END
public static final int END = 8388613
Push object to x-axis position at the end of its container, not changing its size.
RELATIVE_HORIZONTAL_GRAVITY_MASK
public static final int RELATIVE_HORIZONTAL_GRAVITY_MASK = 8388615
Binary mask for the horizontal gravity and script specific direction bit.
RELATIVE_LAYOUT_DIRECTION
public static final int RELATIVE_LAYOUT_DIRECTION = 8388608
Raw bit controlling whether the layout direction is relative or not (START/END instead of absolute LEFT/RIGHT).
Public methods
apply
public static void apply(
int gravity,
int w,
int h,
@NonNull Rect container,
@NonNull Rect outRect,
int layoutDirection
)
Apply a gravity constant to an object and take care if layout direction is RTL or not.
Parameters | |
---|---|
int gravity |
The desired placement of the object, as defined by the constants in this class. |
int w |
The horizontal size of the object. |
int h |
The vertical size of the object. |
@NonNull Rect container |
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. |
@NonNull Rect outRect |
Receives the computed frame of the object in its container. |
int layoutDirection |
The layout direction. |
See also | |
---|---|
LAYOUT_DIRECTION_LTR |
|
LAYOUT_DIRECTION_RTL |
apply
public static void apply(
int gravity,
int w,
int h,
@NonNull Rect container,
int xAdj,
int yAdj,
@NonNull Rect outRect,
int layoutDirection
)
Apply a gravity constant to an object.
Parameters | |
---|---|
int gravity |
The desired placement of the object, as defined by the constants in this class. |
int w |
The horizontal size of the object. |
int h |
The vertical size of the object. |
@NonNull Rect container |
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. |
int xAdj |
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. |
int yAdj |
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. |
@NonNull Rect outRect |
Receives the computed frame of the object in its container. |
int layoutDirection |
The layout direction. |
See also | |
---|---|
LAYOUT_DIRECTION_LTR |
|
LAYOUT_DIRECTION_RTL |
applyDisplay
public static void applyDisplay(
int gravity,
@NonNull Rect display,
@NonNull Rect inoutObj,
int layoutDirection
)
Apply additional gravity behavior based on the overall "display" that an object exists in. This can be used after apply
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 | |
---|---|
int gravity |
Gravity constants to modify the placement within the display. |
@NonNull Rect display |
The rectangle of the display in which the object is being placed. |
@NonNull Rect inoutObj |
Supplies the current object position; returns with it modified if needed to fit in the display. |
int layoutDirection |
The layout direction. |
See also | |
---|---|
LAYOUT_DIRECTION_LTR |
|
LAYOUT_DIRECTION_RTL |
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 | |
---|---|
int gravity |
The gravity to convert to absolute (horizontal) values. |
int layoutDirection |
The layout direction. |
Returns | |
---|---|
int |
gravity converted to absolute (horizontal) values. |