android - 如何在 Android 上触摸和拉动文本绕一个圆圈旋转?

标签 android text rotation touch android-canvas

我在圆圈上有一些文字,我希望用户能够触摸和拖动文字,并限制它沿着圆圈移动...

我使用 Canvas 走到了这一步,但我不知道如何让它以这种方式响应触摸。我不反对重新开始并采用非 Canvas 方法。

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

text on circles

最佳答案

我可能是错的,但考虑到这是一 block Canvas 。然后,您的工作就是检测触摸了哪些文本。

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

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

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

关于android - 如何在 Android 上触摸和拉动文本绕一个圆圈旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13982118/

相关文章:

Android OBB/ZIP 加载 (cocos2dx)

linux - 使用 awk 或 sed 消除文本文件中的重复条目

java - 如何在整个应用程序中更改 Textview 的字体系列?

android - SwipeRefreshLayout 干扰 ViewPager 中的 ScrollView

java - 带有 WHERE 子句的 Android SQLite rawQuery 返回搜索字符串作为未找到的列

vba - 在 Word 中每行末尾添加文本

java - 在java中读取格式化的文本文件

android - 如何以其中心 : corona SDK 旋转组合物理体

python - 裁剪具有相同宽高比的旋转图像

Android动画无限旋转,不停顿