我使用此代码垂直绘制文本。
RectF rectF2 = new RectF();
matrix.mapRect(rectF2, bounds);
canvas.save();
canvas.rotate(90, rectF2.right, rectF2.top);
canvas.drawText(text, rectF2.left, rectF2.bottom, mTextPaint);
canvas.restore();
这很好,但是我也想更改坐标。因为稍后我点击对象并进行拖放。
现在问题是,正如您在下图中看到的那样,坐标绘制为矩形。因此,当我点击该矩形区域时,只能在画布上移动文本。
因此,当我旋转画布时,我也想旋转原始坐标。我尝试过matrix.setRotate
,但是我可以实现我想要的。
[如果要在此视图中拖动对象,则可能需要创建ViewGroup并将对象放置为View。因为所有对象都绘制在画布上,所以您无法在其上点击和拖动。
您可以旋转,平移和调整视图大小,还可以拦截视图上的触摸事件以执行拖动操作
您的解决方案只能像带有文字的图像一样使用,如果我对您的理解正确,您将无法对其进行所需的处理