FloatArrayEvaluatorpublic class FloatArrayEvaluator extends Object implements TypeEvaluatorThis evaluator can be used to perform type interpolation between float[] values.
Each index into the array is treated as a separate value to interpolate. For example,
evaluating {100, 200} and {300, 400} will interpolate the value at
the first index between 100 and 300 and the value at the second index value between 200 and 400. |
Fields Summary |
---|
private float[] | mArray |
Constructors Summary |
---|
public FloatArrayEvaluator()Create a FloatArrayEvaluator that does not reuse the animated value. Care must be taken
when using this option because on every evaluation a new float[] will be
allocated.
| public FloatArrayEvaluator(float[] reuseArray)Create a FloatArrayEvaluator that reuses reuseArray for every evaluate() call.
Caution must be taken to ensure that the value returned from
{@link android.animation.ValueAnimator#getAnimatedValue()} is not cached, modified, or
used across threads. The value will be modified on each evaluate() call.
mArray = reuseArray;
|
Methods Summary |
---|
public float[] | evaluate(float fraction, float[] startValue, float[] endValue)Interpolates the value at each index by the fraction. If
{@link #FloatArrayEvaluator(float[])} was used to construct this object,
reuseArray will be returned, otherwise a new float[]
will be returned.
float[] array = mArray;
if (array == null) {
array = new float[startValue.length];
}
for (int i = 0; i < array.length; i++) {
float start = startValue[i];
float end = endValue[i];
array[i] = start + (fraction * (end - start));
}
return array;
|
|