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 |