Android 如何反转路径对象?

Android 如何反转路径对象?,android,android-canvas,android-graphics,Android,Android Canvas,Android Graphics,我已经从路径对象创建了一个拱门,如下所示: path.addArc(rect, 0f, -180f) //and this draws my path CCW. //and if i wanted it drawn CW: path.addArc(rect, -180f, 180f)//reverse 但我希望我不必这么做。我希望有这样一个功能: path.reverse() 我不知道有一个:但我不知道如何使用它与弧。。。。你知道我怎样才能更好地扭转局面吗 您可以反转动画的步长计数器,而不

我已经从路径对象创建了一个拱门,如下所示:

path.addArc(rect, 0f, -180f) //and this draws my path CCW. 

//and if i wanted it drawn CW:
path.addArc(rect, -180f, 180f)//reverse
但我希望我不必这么做。我希望有这样一个功能: path.reverse()


我不知道有一个:但我不知道如何使用它与弧。。。。你知道我怎样才能更好地扭转局面吗

您可以反转动画的步长计数器,而不是还原圆弧

pathMeasure=新的pathMeasure(yourArcPath,false)

矩阵mxTransform=新矩阵();
float eachStepLen=pathMeasure.getLength()/200//200个动画步骤

if(currentStep
指定闭合形状(如矩形、椭圆形)添加到路径时的方向。
-方向仅在添加闭合形状时使用。其他任何操作都需要手动完成。您的用例是什么?为什么要反转整个路径?我正在显示动画路径。有时我希望反转
  Matrix mxTransform = new Matrix();
    float eachStepLen = pathMeasure.getLength() / 200; //200 animation steps
    if (currentStep <= 110 && !reverseActive) {

        currentStep ++; // --- Going forward...

        pathMeasure.getMatrix(
                eachStepLen * currentStep,
                mxTransform,
                PathMeasure.POSITION_MATRIX_FLAG);

        canvas.drawBitmap(image, mxTransform, null);


    } else {
        reverseActive = true;

        pathMeasure.getMatrix(
                eachStepLen * currentStep,
                mxTransform,
                PathMeasure.POSITION_MATRIX_FLAG);

        canvas.drawBitmap(image, mxTransform, null);

        currentStep --; // --- Going backwards...

        if (currentStep == 0){
            reverseActive = !reverseActive;
        }

    }