android - Android 中对象的动画/拖动

标签 android

我有一个将成为游戏板的自定义 View (扩展 View )。我现在想做的是在板上的特定位置创建一个对象(嗯,一堆,但我可以从一个开始),然后让用户能够通过拖动来移动它。我了解董事会的观点,但对如何编写“部分”感到茫然。感谢您提供任何帮助和/或在此处指向正确的位置。

最佳答案

一些提示:

  • 您需要捕捉用户的触摸和拖动。不幸的是,您不能为此使用 GestureDetector.SimpleOnGestureListener(它会将其视为滚动),因此您必须在 View 的 onTouchEvent 中执行此操作。这有点棘手 - 请参阅 SimpleOnGestureListener 源代码,了解如何最好地做到这一点。
  • 当您更新对象的位置时,在 View 上调用 invalidate() 以触发重绘
  • 在 onDraw() 中做背景,然后在上面绘制你的对象

如果您一次只处理一个对象,这就足够了。如果还有其他原因,您可能必须升级到 SurfaceView 和一个单独的线程 - 但除非您需要,否则不要去那里。

关于android - Android 中对象的动画/拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3140606/

相关文章:

android - 协调器布局和一些其他布局在迁移到 androidX 后不起作用

android - 在 android 中没有获取 http post 请求的响应正文?

android - 单击后如何正确清除所有通知?

java - 创建 Android 应用程序来远程控制我的电脑

已授予 Android 权限但仍被拒绝

android - Android本地Webview页面中的在线图像

Android 应用程序链接已经过验证。但是,仍然出现消歧对话框

android - 如何在 Android 中同步两个 ScrollView ?

java - 使用 libgdx 签名的 apk 问题

android - 如何调用其他类中的Runnable?