PathMotion

abstract class PathMotion

Known direct subclasses
ArcMotion

A PathMotion that generates a curved path along an arc on an imaginary circle containing the two points.

PatternPathMotion

A PathMotion that takes a Path pattern and applies it to the separation between two points.


This base class can be extended to provide motion along a Path to Transitions.

Transitions such as android.transition.ChangeBounds move Views, typically in a straight path between the start and end positions. Applications that desire to have these motions move in a curve can change how Views interpolate in two dimensions by extending PathMotion and implementing getPath.

This may be used in XML as an element inside a transition.

<changeBounds>
    <pathMotion class="my.app.transition.MyPathMotion"/>
</changeBounds>

Summary

Public constructors

PathMotion(context: Context, attrs: AttributeSet)

Public functions

abstract Path
getPath(startX: Float, startY: Float, endX: Float, endY: Float)

Provide a Path to interpolate between two points (startX, startY) and (endX, endY).

Public constructors

PathMotion

Added in 1.0.0
PathMotion()

PathMotion

Added in 1.0.0
PathMotion(context: Context, attrs: AttributeSet)

Public functions

getPath

Added in 1.0.0
abstract fun getPath(startX: Float, startY: Float, endX: Float, endY: Float): Path

Provide a Path to interpolate between two points (startX, startY) and (endX, endY). This allows controlled curved motion along two dimensions.

Parameters
startX: Float

The x coordinate of the starting point.

startY: Float

The y coordinate of the starting point.

endX: Float

The x coordinate of the ending point.

endY: Float

The y coordinate of the ending point.

Returns
Path

A Path along which the points should be interpolated. The returned Path must start at point (startX, startY), typically using moveTo and end at (endX, endY).