lightbulb_outline Please take our October 2018 developer survey. Start survey
added in version 26.1.0
belongs to Maven artifact com.android.support:transition:28.0.0-alpha1

PathMotion

public abstract class PathMotion
extends Object

java.lang.Object
   ↳ android.support.transition.PathMotion
Known Direct Subclasses


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

Transitions such as 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(float, float, float, float).

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

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

Summary

Public constructors

PathMotion()
PathMotion(Context context, AttributeSet attrs)

Public methods

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

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

Inherited methods

From class java.lang.Object

Public constructors

PathMotion

added in version 26.1.0
PathMotion ()

PathMotion

added in version 26.1.0
PathMotion (Context context, 
                AttributeSet attrs)

Parameters
context Context

attrs AttributeSet

Public methods

getPath

added in version 26.1.0
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
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(float, float) and end at (endX, endY).