Added in API level 21

PathInterpolator


open class PathInterpolator : BaseInterpolator
kotlin.Any
   ↳ android.view.animation.BaseInterpolator
   ↳ android.view.animation.PathInterpolator

An interpolator that can traverse a Path that extends from Point(0, 0) to (1, 1). The x coordinate along the Path is the input value and the output is the y coordinate of the line at that point. This means that the Path must conform to a function y = f(x).

The Path must not have gaps in the x direction and must not loop back on itself such that there can be two points sharing the same x coordinate. It is alright to have a disjoint line in the vertical direction:

Path path = new Path();
      path.lineTo(0.25f, 0.25f);
      path.moveTo(0.25f, 0.5f);
      path.lineTo(1f, 1f);
  

Summary

Public constructors

Create an interpolator for an arbitrary Path.

PathInterpolator(controlX: Float, controlY: Float)

Create an interpolator for a quadratic Bezier curve.

PathInterpolator(controlX1: Float, controlY1: Float, controlX2: Float, controlY2: Float)

Create an interpolator for a cubic Bezier curve.

PathInterpolator(context: Context!, attrs: AttributeSet!)

Public methods
open Float

Using the line in the Path in this interpolator that can be described as y = f(x), finds the y coordinate of the line given t as the x coordinate.

Public constructors

PathInterpolator

Added in API level 21
PathInterpolator(path: Path)

Create an interpolator for an arbitrary Path. The Path must begin at (0, 0) and end at (1, 1).

Parameters
path Path: The Path to use to make the line representing the interpolator. This value cannot be null.

PathInterpolator

Added in API level 21
PathInterpolator(
    controlX: Float,
    controlY: Float)

Create an interpolator for a quadratic Bezier curve. The end points (0, 0) and (1, 1) are assumed.

Parameters
controlX Float: The x coordinate of the quadratic Bezier control point.
controlY Float: The y coordinate of the quadratic Bezier control point.

PathInterpolator

Added in API level 21
PathInterpolator(
    controlX1: Float,
    controlY1: Float,
    controlX2: Float,
    controlY2: Float)

Create an interpolator for a cubic Bezier curve. The end points (0, 0) and (1, 1) are assumed.

Parameters
controlX1 Float: The x coordinate of the first control point of the cubic Bezier.
controlY1 Float: The y coordinate of the first control point of the cubic Bezier.
controlX2 Float: The x coordinate of the second control point of the cubic Bezier.
controlY2 Float: The y coordinate of the second control point of the cubic Bezier.

PathInterpolator

Added in API level 21
PathInterpolator(
    context: Context!,
    attrs: AttributeSet!)

Public methods

getInterpolation

Added in API level 21
open fun getInterpolation(t: Float): Float

Using the line in the Path in this interpolator that can be described as y = f(x), finds the y coordinate of the line given t as the x coordinate. Values less than 0 will always return 0 and values greater than 1 will always return 1.

Parameters
input A value between 0 and 1.0 indicating our current point in the animation where 0 represents the start and 1.0 represents the end
t Float: Treated as the x coordinate along the line.
Return
Float The y coordinate of the Path along the line where x = t.