PathInterpolator
public class PathInterpolator implements 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(@NonNull Path path)Create an interpolator for an arbitrary |
PathInterpolator(float controlX, float controlY)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 methods |
|
|---|---|
float |
getInterpolation(@FloatRange(from = 0, to = 1) float input)Using the line in the Path in this interpolator that can be described as |
Public constructors
PathInterpolator
public PathInterpolator(@NonNull Path path)
Create an interpolator for an arbitrary Path. The Path must begin at (0, 0) and end at (1, 1).
PathInterpolator
public PathInterpolator(float controlX, float controlY)
Create an interpolator for a quadratic Bezier curve. The end points (0, 0) and (1, 1) are assumed.
| Parameters | |
|---|---|
float controlX |
The x coordinate of the quadratic Bezier control point. |
float controlY |
The y coordinate of the quadratic Bezier control point. |
PathInterpolator
public PathInterpolator(
@NonNull Context context,
@Nullable AttributeSet attrs,
@NonNull XmlPullParser parser
)
Create an interpolator from XML.
| Parameters | |
|---|---|
@NonNull Context context |
The context. |
@Nullable AttributeSet attrs |
The AttributeSet for pathInterpolator. |
@NonNull XmlPullParser parser |
The XmlPullParser that was used to create the AttributeSet with |
PathInterpolator
public PathInterpolator(
float controlX1,
float controlY1,
float controlX2,
float controlY2
)
Create an interpolator for a cubic Bezier curve. The end points (0, 0) and (1, 1) are assumed.
| Parameters | |
|---|---|
float controlX1 |
The x coordinate of the first control point of the cubic Bezier. |
float controlY1 |
The y coordinate of the first control point of the cubic Bezier. |
float controlX2 |
The x coordinate of the second control point of the cubic Bezier. |
float controlY2 |
The y coordinate of the second control point of the cubic Bezier. |
PathInterpolator
public PathInterpolator(
@NonNull Resources res,
@Nullable Resources.Theme theme,
@Nullable AttributeSet attrs,
@NonNull XmlPullParser parser
)
Create an interpolator from XML.
| Parameters | |
|---|---|
@NonNull Resources res |
The resources. |
@Nullable Resources.Theme theme |
The theme. |
@Nullable AttributeSet attrs |
The AttributeSet for pathInterpolator. |
@NonNull XmlPullParser parser |
The XmlPullParser that was used to create the AttributeSet with |
Public methods
getInterpolation
public float getInterpolation(@FloatRange(from = 0, to = 1) float input)
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 | |
|---|---|
@FloatRange(from = 0, to = 1) float input |
Treated as the x coordinate along the line. |
| Returns | |
|---|---|
float |
The y coordinate of the Path along the line where x = |
| See also | |
|---|---|
getInterpolation |