GridLayoutAnimationController
public
class
GridLayoutAnimationController
extends LayoutAnimationController
java.lang.Object | ||
↳ | android.view.animation.LayoutAnimationController | |
↳ | android.view.animation.GridLayoutAnimationController |
A layout animation controller is used to animated a grid layout's children.
While LayoutAnimationController
relies only on the index of the child
in the view group to compute the animation delay, this class uses both the
X and Y coordinates of the child within a grid.
In addition, the animation direction can be controlled. The default direction
is DIRECTION_LEFT_TO_RIGHT | DIRECTION_TOP_TO_BOTTOM
. You can
also set the animation priority to columns or rows. The default priority is
none.
Information used to compute the animation delay of each child are stored
in an instance of
GridLayoutAnimationController.AnimationParameters
,
itself stored in the ViewGroup.LayoutParams
of the view.
See also:
Summary
Nested classes | ||
---|---|---|
class |
GridLayoutAnimationController.AnimationParameters
The set of parameters that has to be attached to each view contained in the view group animated by the grid layout animation controller. |
XML attributes | ||
---|---|---|
android:columnDelay |
Fraction of the animation duration used to delay the beginning of the animation of each column. | |
android:direction |
Direction of the animation in the grid. | |
android:directionPriority |
Priority of the rows and columns. | |
android:rowDelay |
Fraction of the animation duration used to delay the beginning of the animation of each row. |
Inherited XML attributes | |
---|---|
Constants | |
---|---|
int |
DIRECTION_BOTTOM_TO_TOP
Animates the children starting from the bottom of the grid to the top. |
int |
DIRECTION_HORIZONTAL_MASK
Bitmask used to retrieve the horizontal component of the direction. |
int |
DIRECTION_LEFT_TO_RIGHT
Animates the children starting from the left of the grid to the right. |
int |
DIRECTION_RIGHT_TO_LEFT
Animates the children starting from the right of the grid to the left. |
int |
DIRECTION_TOP_TO_BOTTOM
Animates the children starting from the top of the grid to the bottom. |
int |
DIRECTION_VERTICAL_MASK
Bitmask used to retrieve the vertical component of the direction. |
int |
PRIORITY_COLUMN
Columns are animated first. |
int |
PRIORITY_NONE
Rows and columns are animated at the same time. |
int |
PRIORITY_ROW
Rows are animated first. |
Inherited constants |
---|
Inherited fields |
---|
Public constructors | |
---|---|
GridLayoutAnimationController(Context context, AttributeSet attrs)
Creates a new grid layout animation controller from external resources. |
|
GridLayoutAnimationController(Animation animation)
Creates a new layout animation controller with a delay of 50% for both rows and columns and the specified animation. |
|
GridLayoutAnimationController(Animation animation, float columnDelay, float rowDelay)
Creates a new layout animation controller with the specified delays and the specified animation. |
Public methods | |
---|---|
float
|
getColumnDelay()
Returns the delay by which the children's animation are offset from one column to the other. |
int
|
getDirection()
Returns the direction of the animation. |
int
|
getDirectionPriority()
Returns the direction priority for the animation. |
float
|
getRowDelay()
Returns the delay by which the children's animation are offset from one row to the other. |
void
|
setColumnDelay(float columnDelay)
Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one column to the other. |
void
|
setDirection(int direction)
Sets the direction of the animation. |
void
|
setDirectionPriority(int directionPriority)
Specifies the direction priority of the animation. |
void
|
setRowDelay(float rowDelay)
Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one row to the other. |
boolean
|
willOverlap()
Indicates whether two children's animations will overlap. |
Protected methods | |
---|---|
long
|
getDelayForView(View view)
Returns the amount of milliseconds by which the specified view's animation must be delayed or offset. |
Inherited methods | |
---|---|
XML attributes
android:columnDelay
Fraction of the animation duration used to delay the beginning of the animation of each column.
May be a floating point value, such as "1.2
".
May be a fractional value, which is a floating point number appended with
either % or %p, such as "14.5%
".
The % suffix always means a percentage of the base size;
the optional %p suffix provides a size relative to some parent container.
android:direction
Direction of the animation in the grid.
Must be one or more (separated by '|') of the following constant values.
Constant | Value | Description |
---|---|---|
bottom_to_top | 2 | Animates rows from bottom to top. |
left_to_right | 0 | Animates columns from left to right. |
right_to_left | 1 | Animates columns from right to left. |
top_to_bottom | 0 | Animates rows from top to bottom. |
android:directionPriority
Priority of the rows and columns. When the priority is none, both rows and columns have the same priority. When the priority is column, the animations will be applied on the columns first. The same goes for rows.
Must be one of the following constant values.
Constant | Value | Description |
---|---|---|
column | 1 | Columns are animated first. |
none | 0 | Rows and columns are animated at the same time. |
row | 2 | Rows are animated first. |
android:rowDelay
Fraction of the animation duration used to delay the beginning of the animation of each row.
May be a floating point value, such as "1.2
".
May be a fractional value, which is a floating point number appended with
either % or %p, such as "14.5%
".
The % suffix always means a percentage of the base size;
the optional %p suffix provides a size relative to some parent container.
Constants
DIRECTION_BOTTOM_TO_TOP
public static final int DIRECTION_BOTTOM_TO_TOP
Animates the children starting from the bottom of the grid to the top.
Constant Value: 2 (0x00000002)
DIRECTION_HORIZONTAL_MASK
public static final int DIRECTION_HORIZONTAL_MASK
Bitmask used to retrieve the horizontal component of the direction.
Constant Value: 1 (0x00000001)
DIRECTION_LEFT_TO_RIGHT
public static final int DIRECTION_LEFT_TO_RIGHT
Animates the children starting from the left of the grid to the right.
Constant Value: 0 (0x00000000)
DIRECTION_RIGHT_TO_LEFT
public static final int DIRECTION_RIGHT_TO_LEFT
Animates the children starting from the right of the grid to the left.
Constant Value: 1 (0x00000001)
DIRECTION_TOP_TO_BOTTOM
public static final int DIRECTION_TOP_TO_BOTTOM
Animates the children starting from the top of the grid to the bottom.
Constant Value: 0 (0x00000000)
DIRECTION_VERTICAL_MASK
public static final int DIRECTION_VERTICAL_MASK
Bitmask used to retrieve the vertical component of the direction.
Constant Value: 2 (0x00000002)
PRIORITY_COLUMN
public static final int PRIORITY_COLUMN
Columns are animated first.
Constant Value: 1 (0x00000001)
PRIORITY_NONE
public static final int PRIORITY_NONE
Rows and columns are animated at the same time.
Constant Value: 0 (0x00000000)
PRIORITY_ROW
public static final int PRIORITY_ROW
Rows are animated first.
Constant Value: 2 (0x00000002)
Public constructors
GridLayoutAnimationController
public GridLayoutAnimationController (Context context, AttributeSet attrs)
Creates a new grid layout animation controller from external resources.
Parameters | |
---|---|
context |
Context : the Context the view group is running in, through which
it can access the resources |
attrs |
AttributeSet : the attributes of the XML tag that is inflating the
layout animation controller |
GridLayoutAnimationController
public GridLayoutAnimationController (Animation animation)
Creates a new layout animation controller with a delay of 50% for both rows and columns and the specified animation.
Parameters | |
---|---|
animation |
Animation : the animation to use on each child of the view group |
GridLayoutAnimationController
public GridLayoutAnimationController (Animation animation, float columnDelay, float rowDelay)
Creates a new layout animation controller with the specified delays and the specified animation.
Parameters | |
---|---|
animation |
Animation : the animation to use on each child of the view group |
columnDelay |
float : the delay by which each column animation must be offset |
rowDelay |
float : the delay by which each row animation must be offset |
Public methods
getColumnDelay
public float getColumnDelay ()
Returns the delay by which the children's animation are offset from one column to the other. The delay is expressed as a fraction of the animation duration.
Returns | |
---|---|
float |
a fraction of the animation duration |
getDirection
public int getDirection ()
Returns the direction of the animation. DIRECTION_HORIZONTAL_MASK
and DIRECTION_VERTICAL_MASK
can be used to retrieve the
horizontal and vertical components of the direction.
Returns | |
---|---|
int |
the direction of the animation |
getDirectionPriority
public int getDirectionPriority ()
Returns the direction priority for the animation. The priority can
be either PRIORITY_NONE
, PRIORITY_COLUMN
or
PRIORITY_ROW
.
Returns | |
---|---|
int |
the priority of the animation direction |
getRowDelay
public float getRowDelay ()
Returns the delay by which the children's animation are offset from one row to the other. The delay is expressed as a fraction of the animation duration.
Returns | |
---|---|
float |
a fraction of the animation duration |
setColumnDelay
public void setColumnDelay (float columnDelay)
Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one column to the other.
Parameters | |
---|---|
columnDelay |
float : a fraction of the animation duration |
setDirection
public void setDirection (int direction)
Sets the direction of the animation. The direction is expressed as an
integer containing a horizontal and vertical component. For instance,
DIRECTION_BOTTOM_TO_TOP | DIRECTION_RIGHT_TO_LEFT
.
Parameters | |
---|---|
direction |
int : the direction of the animation |
setDirectionPriority
public void setDirectionPriority (int directionPriority)
Specifies the direction priority of the animation. For instance,
PRIORITY_COLUMN
will give priority to columns: the animation
will first play on the column, then on the rows.Z
Parameters | |
---|---|
directionPriority |
int : the direction priority of the animation |
setRowDelay
public void setRowDelay (float rowDelay)
Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one row to the other.
Parameters | |
---|---|
rowDelay |
float : a fraction of the animation duration |
willOverlap
public boolean willOverlap ()
Indicates whether two children's animations will overlap. Animations overlap when the delay is lower than 100% (or 1.0).
Returns | |
---|---|
boolean |
true if animations will overlap, false otherwise |
Protected methods
getDelayForView
protected long getDelayForView (View view)
Returns the amount of milliseconds by which the specified view's
animation must be delayed or offset. Subclasses should override this
method to return a suitable value.
This implementation returns child animation delay
milliseconds where:
child animation delay = child index * delayThe index is retrieved from the
LayoutAnimationController.AnimationParameters
found in the view's ViewGroup.LayoutParams
.
Parameters | |
---|---|
view |
View : the view for which to obtain the animation's delay |
Returns | |
---|---|
long |
a delay in milliseconds |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-04 UTC.