PathInterpolator
class PathInterpolator : Interpolator
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(path: Path)Create an interpolator for an arbitrary |
PathInterpolator(controlX: Float, controlY: Float)Create an interpolator for a quadratic Bezier curve. |
PathInterpolator(Create an interpolator from XML. |
PathInterpolator(Create an interpolator for a cubic Bezier curve. |
PathInterpolator(Create an interpolator from XML. |
Public functions |
|
|---|---|
Float |
getInterpolation(input: @FloatRange(from = 0, to = 1) 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 |
PathInterpolator
PathInterpolator(controlX: Float, controlY: Float)
Create an interpolator for a quadratic Bezier curve. The end points (0, 0) and (1, 1) are assumed.
PathInterpolator
PathInterpolator(
context: Context,
attrs: AttributeSet?,
parser: XmlPullParser
)
Create an interpolator from XML.
| Parameters | |
|---|---|
context: Context |
The context. |
attrs: AttributeSet? |
The AttributeSet for pathInterpolator. |
parser: XmlPullParser |
The XmlPullParser that was used to create the AttributeSet with |
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. |
PathInterpolator
PathInterpolator(
res: Resources,
theme: Resources.Theme?,
attrs: AttributeSet?,
parser: XmlPullParser
)
Create an interpolator from XML.
| Parameters | |
|---|---|
res: Resources |
The resources. |
theme: Resources.Theme? |
The theme. |
attrs: AttributeSet? |
The AttributeSet for pathInterpolator. |
parser: XmlPullParser |
The XmlPullParser that was used to create the AttributeSet with |
Public functions
getInterpolation
fun getInterpolation(input: @FloatRange(from = 0, to = 1) 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: @FloatRange(from = 0, to = 1) Float |
Treated as the x coordinate along the line. |
| Returns | |
|---|---|
Float |
The y coordinate of the Path along the line where x = |
| See also | |
|---|---|
getInterpolation |