我使用此代码垂直绘制文本。
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。因为所有对象都绘制在画布上,所以您无法在其上点击和拖动。
您可以旋转,平移和调整视图大小,还可以拦截视图上的触摸事件以执行拖动
您的解决方案只能像带有文本的图像一样工作,如果我对您的理解是正确的,那么您将无法使用他们想要的东西