我在圆圈上有一些文字,我希望用户能够触摸并拖动文字,并限制它沿着圆圈移动......
我使用Canvas做到了这一点,但我无法弄清楚如何让它以这种方式响应触摸。我不反对重新开始并采取非画布方式。
我怎样才能实现这一目标?伪代码将不胜感激。
答案 0 :(得分:2)
我可能错了,但考虑到这是画布。然后,您的工作是检测触摸的文本。
为视图设置onTouchListener后,您将获得ACTION_DOWN事件的事件坐标。您检查并获取被触摸的文本。如果没有,则返回false。否则,返回true。
现在,如果用户移动他的手指,您将收到更多ACTION_MOVE事件。在这种情况下,您可能希望根据此事件与最后一个事件之间的差异移动所选文本。一旦计算出文本的新位置,就可以调用invalidate()
来强制重绘。
最后,当用户停止移动时,您将收到一个ACTION_UP事件。那时你必须把文本放回原来的位置,或者你想要的任何东西。