Added in API level 1

GridLayoutAnimationController


open class GridLayoutAnimationController : LayoutAnimationController
kotlin.Any
   ↳ 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 android.view.animation.GridLayoutAnimationController.AnimationParameters, itself stored in the android.view.ViewGroup.LayoutParams of the view.

Summary

Nested classes
open

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
static Int

Animates the children starting from the bottom of the grid to the top.

static Int

Bitmask used to retrieve the horizontal component of the direction.

static Int

Animates the children starting from the left of the grid to the right.

static Int

Animates the children starting from the right of the grid to the left.

static Int

Animates the children starting from the top of the grid to the bottom.

static Int

Bitmask used to retrieve the vertical component of the direction.

static Int

Columns are animated first.

static Int

Rows and columns are animated at the same time.

static Int

Rows are animated first.

Inherited constants
Public constructors

Creates a new grid layout animation controller from external resources.

Creates a new layout animation controller with a delay of 50% for both rows and columns and the specified animation.

GridLayoutAnimationController(animation: Animation!, columnDelay: Float, rowDelay: Float)

Creates a new layout animation controller with the specified delays and the specified animation.

Public methods
open Float

Returns the delay by which the children's animation are offset from one column to the other.

open Int

Returns the direction of the animation.

open Int

Returns the direction priority for the animation.

open Float

Returns the delay by which the children's animation are offset from one row to the other.

open Unit
setColumnDelay(columnDelay: Float)

Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one column to the other.

open Unit
setDirection(direction: Int)

Sets the direction of the animation.

open Unit
setDirectionPriority(directionPriority: Int)

Specifies the direction priority of the animation.

open Unit
setRowDelay(rowDelay: Float)

Sets the delay, as a fraction of the animation duration, by which the children's animations are offset from one row to the other.

open Boolean

Indicates whether two children's animations will overlap.

Protected methods
open Long

Returns the amount of milliseconds by which the specified view's animation must be delayed or offset.

Inherited functions
Inherited properties

XML attributes

android:columnDelay

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

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

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

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

Added in API level 1
static val DIRECTION_BOTTOM_TO_TOP: Int

Animates the children starting from the bottom of the grid to the top.

Value: 2

DIRECTION_HORIZONTAL_MASK

Added in API level 1
static val DIRECTION_HORIZONTAL_MASK: Int

Bitmask used to retrieve the horizontal component of the direction.

Value: 1

DIRECTION_LEFT_TO_RIGHT

Added in API level 1
static val DIRECTION_LEFT_TO_RIGHT: Int

Animates the children starting from the left of the grid to the right.

Value: 0

DIRECTION_RIGHT_TO_LEFT

Added in API level 1
static val DIRECTION_RIGHT_TO_LEFT: Int

Animates the children starting from the right of the grid to the left.

Value: 1

DIRECTION_TOP_TO_BOTTOM

Added in API level 1
static val DIRECTION_TOP_TO_BOTTOM: Int

Animates the children starting from the top of the grid to the bottom.

Value: 0

DIRECTION_VERTICAL_MASK

Added in API level 1
static val DIRECTION_VERTICAL_MASK: Int

Bitmask used to retrieve the vertical component of the direction.

Value: 2

PRIORITY_COLUMN

Added in API level 1
static val PRIORITY_COLUMN: Int

Columns are animated first.

Value: 1

PRIORITY_NONE

Added in API level 1
static val PRIORITY_NONE: Int

Rows and columns are animated at the same time.

Value: 0

PRIORITY_ROW

Added in API level 1
static val PRIORITY_ROW: Int

Rows are animated first.

Value: 2

Public constructors

GridLayoutAnimationController

Added in API level 1
GridLayoutAnimationController(
    context: Context!,
    attrs: AttributeSet!)

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

Added in API level 1
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

Added in API level 1
GridLayoutAnimationController(
    animation: Animation!,
    columnDelay: Float,
    rowDelay: Float)

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

Added in API level 1
open fun getColumnDelay(): Float

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.

Return
Float a fraction of the animation duration

getDirection

Added in API level 1
open fun getDirection(): Int

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.

Return
Int the direction of the animation

getDirectionPriority

Added in API level 1
open fun getDirectionPriority(): Int

Returns the direction priority for the animation. The priority can be either PRIORITY_NONE, PRIORITY_COLUMN or PRIORITY_ROW.

Return
Int the priority of the animation direction

getRowDelay

Added in API level 1
open fun getRowDelay(): Float

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.

Return
Float a fraction of the animation duration

setColumnDelay

Added in API level 1
open fun setColumnDelay(columnDelay: Float): Unit

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

Added in API level 1
open fun setDirection(direction: Int): Unit

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

Added in API level 1
open fun setDirectionPriority(directionPriority: Int): Unit

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

Added in API level 1
open fun setRowDelay(rowDelay: Float): Unit

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

Added in API level 1
open fun willOverlap(): Boolean

Indicates whether two children's animations will overlap. Animations overlap when the delay is lower than 100% (or 1.0).

Return
Boolean true if animations will overlap, false otherwise

Protected methods

getDelayForView

Added in API level 1
protected open fun getDelayForView(view: View!): Long

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 * delay
  
The index is retrieved from the android.view.animation.LayoutAnimationController.AnimationParameters found in the view's android.view.ViewGroup.LayoutParams.

Parameters
view View!: the view for which to obtain the animation's delay
Return
Long a delay in milliseconds