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 | |
|---|---|
PathInterpolator(context: Context!, attrs: AttributeSet!) |
|
PathInterpolator(path: Path)Create an interpolator for an arbitrary |
|
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. |
|
| Public methods | |
|---|---|
| open Float |
Using the line in the Path in this interpolator that can be described as |
Public constructors
PathInterpolator
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
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
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. |
Public methods
getInterpolation
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. |