@TargetApi(LOLLIPOP)
private PropertyValuesHolder getPathValuesHolder(Run run, int dy, int dx) {
PropertyValuesHolder propertyValuesHolder;
if (IS_LOLLIPOP_OR_ABOVE) {
PathMotion pathMotion = new PathMotion() {
@Override
public Path getPath(float startX, float startY, float endX, float endY) {
return ReflowTextAnimatorHelper.getPath(startX, startY, endX, endY);
}
};
propertyValuesHolder = PropertyValuesHolder.ofObject(SwitchDrawable.TOP_LEFT, null,
pathMotion.getPath(
run.getStart().left,
run.getStart().top,
run.getEnd().left - dx,
run.getEnd().top - dy));
} else {
PointF startPoint = new PointF(run.getStart().left, run.getStart().top);
PointF endPoint = new PointF(run.getEnd().left - dx, run.getEnd().top - dy);
propertyValuesHolder = PropertyValuesHolder.ofObject(SwitchDrawable.TOP_LEFT, new TypeEvaluator<PointF>() {
private final PointF point = new PointF();
@Override
public PointF evaluate(float fraction, PointF startValue, PointF endValue) {
float x = startValue.x + (endValue.x - startValue.x) * fraction;
float y = startValue.y + (endValue.y - startValue.y) * fraction;
point.set(x, y);
return point;
}
}, startPoint, endPoint);
}
return propertyValuesHolder;
}
ReflowTextAnimatorHelper.java 文件源码
java
阅读 37
收藏 0
点赞 0
评论 0
项目:reflow-animator
作者:
评论列表
文章目录