PathMotion

public 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

Public methods

abstract @NonNull Path
getPath(float startX, float startY, float endX, float endY)

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

Public constructors

PathMotion

Added in 1.0.0
public PathMotion()

PathMotion

Added in 1.0.0
public PathMotion(@NonNull Context context, @NonNull AttributeSet attrs)

Public methods

getPath

Added in 1.0.0
public abstract @NonNull Path getPath(float startX, float startY, float endX, float endY)

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

Parameters
float startX

The x coordinate of the starting point.

float startY

The y coordinate of the starting point.

float endX

The x coordinate of the ending point.

float endY

The y coordinate of the ending point.

Returns
@NonNull 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).