Android 画布中的旋转对象

Android 画布中的旋转对象,android,Android,我有这段代码,它可以打印4个矩形,但我希望其中一个可以旋转,这段代码可以处理那些注释行,但是如果我把它们拿出来,它就不会打印矩形4 使用canvas.rotate(5)例如,最可能的情况是您的矩形在旋转后离开屏幕。若要添加,请使用canvas.rotate(度,centerX,centerY),其中centerX/centerY是矩形的中心点,即canvas.rotate(45,rectangle4.centerX(),rectangle4.centerY()) protected voi

我有这段代码,它可以打印4个矩形,但我希望其中一个可以旋转,这段代码可以处理那些注释行,但是如果我把它们拿出来,它就不会打印矩形4


使用
canvas.rotate(5)
例如,最可能的情况是您的矩形在旋转后离开屏幕。若要添加,请使用
canvas.rotate(度,centerX,centerY)
,其中centerX/centerY是矩形的中心点,即
canvas.rotate(45,rectangle4.centerX(),rectangle4.centerY())
   protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);

        red_fill = new Paint();
        red_fill.setColor(Color.RED);
        red_fill.setStyle(Paint.Style.FILL);

        rectangle.set((getWidth() / 2 + 150), getHeight() / 2 - 20, (getWidth() / 2) + 170, (getHeight() / 2));
        rectangle2.set((getWidth() /2 - 10), getHeight() / 2 - 200, (getWidth()/2) + 10, (getHeight()/2) - 180);
        rectangle3.set((getWidth() / 2 - 170), getHeight() / 2 - 20, (getWidth() / 2) - 150, (getHeight() / 2));
        rectangle4.set((getWidth() / 2 - 130), getHeight() / 2 - 120, (getWidth() / 2) - 110, (getHeight() / 2) - 100);

        canvas.drawRect(rectangle, red_fill);
        canvas.drawRect(rectangle2, red_fill);
        canvas.drawRect(rectangle3, red_fill);
        //canvas.save();
        //canvas.rotate(45);
        canvas.drawRect(rectangle4, red_fill);
        //canvas.restore();

        invalidate();
    }