PatternPathMotion

class PatternPathMotion : PathMotion


A PathMotion that takes a Path pattern and applies it to the separation between two points. The starting point of the Path will be moved to the origin and the end point will be scaled and rotated so that it matches with the target end point.

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

<changeBounds>
    <patternPathMotion android:patternPathData="M0 0 L0 100 L100 100"/>
</changeBounds>

Summary

Public constructors

Constructs a PatternPathMotion with a straight-line pattern.

PatternPathMotion(patternPath: Path)

Creates a PatternPathMotion with the Path defining a pattern of motion between two coordinates.

Public functions

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

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

Path

Returns the Path defining a pattern of motion between two coordinates.

Unit
setPatternPath(patternPath: Path)

Sets the Path defining a pattern of motion between two coordinates.

Public constructors

PatternPathMotion

Added in 1.0.0
PatternPathMotion()

Constructs a PatternPathMotion with a straight-line pattern.

PatternPathMotion

Added in 1.0.0
PatternPathMotion(patternPath: Path)

Creates a PatternPathMotion with the Path defining a pattern of motion between two coordinates. The pattern will be translated, rotated, and scaled to fit between the start and end points. The pattern must not be empty and must have the end point differ from the start point.

Parameters
patternPath: Path

A Path to be used as a pattern for two-dimensional motion.

PatternPathMotion

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

Public functions

getPath

Added in 1.5.0-alpha06
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).

getPatternPath

Added in 1.0.0
fun getPatternPath(): Path

Returns the Path defining a pattern of motion between two coordinates. The pattern will be translated, rotated, and scaled to fit between the start and end points. The pattern must not be empty and must have the end point differ from the start point.

Returns
Path

the Path defining a pattern of motion between two coordinates.

setPatternPath

Added in 1.0.0
fun setPatternPath(patternPath: Path): Unit

Sets the Path defining a pattern of motion between two coordinates. The pattern will be translated, rotated, and scaled to fit between the start and end points. The pattern must not be empty and must have the end point differ from the start point.

Parameters
patternPath: Path

A Path to be used as a pattern for two-dimensional motion.