平滑的变形动画

时间:2018-10-02 14:18:28

标签: android animation android-animation android-canvas android-custom-view

如何在android中实现平滑的变形动画?

我正在使用自定义视图的canvas.draw(path, paint)方法中的OnDraw()在照相机预览上渲染多边形形状。

正在渲染路径,如下所示:

for (int i = 0; i < pointList.size(); i++) {
        Point currentPoint = adjustedPointList.get(i);

        if (i == 0) {
            //for the first point, we only have to move to that point
            firstPoint = currentPoint;
            mPath.moveTo(currentPoint.getX(), currentPoint.getY());
            //Animation here 

        } else {
            //otherwise we draw a line between last position and current point
            mPath.lineTo(currentPoint.getX(), currentPoint.getY());
            //Animation here

        }
    }


    //we have to draw a last line between last and first point
    if (firstPoint != null) {
        mPath.lineTo(firstPoint.getX(), firstPoint.getY());
        //Animation here
    }

我尝试了here之类的ObjectAnimator类,但没有任何效果。由于经常在线程内部调用它,因此形状在框架之间变化。在这里,我想拥有iOS中的here这样的平滑动画。如何为上面显示的渲染做同样的事情?

我还尝试了以下问题的解决方案:

DashPathEffect

path animation

attach an animator to a path

Value Animator

但是,我没有实现平滑的形状移动甚至动画化路径绘制的目的。目前,形状变化非常闪烁。

此外,许多用于Android的变形动画参考都使用位图或SVG,这对我来说再无用处。

如何在android中实现呢?还是有不同的方法呢?如果是这样,我想知道一切。谢谢!

0 个答案:

没有答案