我有一个将成为游戏板的自定义 View (扩展 View )。我现在想做的是在板上的特定位置创建一个对象(嗯,一堆,但我可以从一个开始),然后让用户能够通过拖动来移动它。我了解董事会的观点,但对如何编写“部分”感到茫然。感谢您提供任何帮助和/或在此处指向正确的位置。
最佳答案
一些提示:
- 您需要捕捉用户的触摸和拖动。不幸的是,您不能为此使用 GestureDetector.SimpleOnGestureListener(它会将其视为滚动),因此您必须在 View 的 onTouchEvent 中执行此操作。这有点棘手 - 请参阅 SimpleOnGestureListener 源代码,了解如何最好地做到这一点。
- 当您更新对象的位置时,在 View 上调用 invalidate() 以触发重绘
- 在 onDraw() 中做背景,然后在上面绘制你的对象
如果您一次只处理一个对象,这就足够了。如果还有其他原因,您可能必须升级到 SurfaceView 和一个单独的线程 - 但除非您需要,否则不要去那里。
关于android - Android 中对象的动画/拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3140606/