在Android上,如何触摸和拖动文本以绕圆圈旋转?

在Android上,如何触摸和拖动文本以绕圆圈旋转?,android,text,rotation,touch,android-canvas,Android,Text,Rotation,Touch,Android Canvas,我有一些圆圈上的文字,我希望用户能够触摸和拖动文字,并将其约束为沿圆圈移动 我用Canvas做了这么多,但我不知道如何让它以这种方式响应触摸。我不反对从头开始,采取非画布的方法 我怎样才能做到这一点?伪代码将不胜感激 我可能错了,但考虑到这是一幅画布。然后,您的工作就是检测触摸到的文本 为视图设置onTouchListener后,您将获得ACTION_DOWN事件的事件坐标。你检查并得到被触摸的文本。如果没有,则返回false。否则,返回true 现在,如果用户移动手指,您将收到更多带有动作的事

我有一些圆圈上的文字,我希望用户能够触摸和拖动文字,并将其约束为沿圆圈移动

我用Canvas做了这么多,但我不知道如何让它以这种方式响应触摸。我不反对从头开始,采取非画布的方法

我怎样才能做到这一点?伪代码将不胜感激


我可能错了,但考虑到这是一幅画布。然后,您的工作就是检测触摸到的文本

为视图设置onTouchListener后,您将获得ACTION_DOWN事件的事件坐标。你检查并得到被触摸的文本。如果没有,则返回false。否则,返回true

现在,如果用户移动手指,您将收到更多带有动作的事件。在这种情况下,您可能希望根据此事件与上次事件之间的差异移动所选文本。计算文本的新位置后,调用
invalidate()
,这将强制重新绘制


最后,当用户停止移动时,您将收到一个带有ACTION_UP的事件。这时,您必须将文本放回其原始位置,或者您想要的任何位置。

好的,我已经到了可以打印“移动”的地步,以响应屏幕上任何位置的移动事件。。。但我如何将其与文本联系起来呢?我是否应该重新编写代码,使文本成为文本视图?或者,这是否适用于画布上的drawText?如果您实现了正确的算法,以了解事件所触动的文本,它将像这样工作