首页 > 解决方案 > 如何为自定义视图的弯曲区域设置动画?

问题描述

我正在设置自定义贝塞尔视图。我想向弯曲区域添加一些动画,例如从视图的普通区域向弯曲区域扩展/显示效果的动画。

我通过以下链接成功创建了一个视图

https://proandroiddev.com/how-i-drew-custom-shapes-in-bottom-bar-c4539d86afd7

现在我想为弯曲区域设置动画。

自定义视图类的几行

    mPath.reset();
    mPath.moveTo(0, 0);
    mPath.lineTo(mFirstCurveStartPoint.x, mFirstCurveStartPoint.y);

    mPath.cubicTo(mFirstCurveControlPoint1.x, mFirstCurveControlPoint1.y,
            mFirstCurveControlPoint2.x, mFirstCurveControlPoint2.y,
            mFirstCurveEndPoint.x, mFirstCurveEndPoint.y);

    mPath.cubicTo(mSecondCurveControlPoint1.x, mSecondCurveControlPoint1.y,
            mSecondCurveControlPoint2.x, mSecondCurveControlPoint2.y,
            mSecondCurveEndPoint.x, mSecondCurveEndPoint.y);

    mPath.lineTo(mNavigationBarWidth, 0);
    mPath.lineTo(mNavigationBarWidth, mNavigationBarHeight);
    mPath.lineTo(0, mNavigationBarHeight);
    mPath.close();

在 onDraw 方法中

    canvas.drawPath(mPath, mPaint);

标签: androidandroid-animationandroid-custom-viewbezier

解决方案


推荐阅读