android - 在 Android 中的随机路径上为 imageview 设置动画

标签 android animation custom-view

这个任务看起来相当简单,但我不知道在 Android 中实现它的最佳方式是什么。

它应该是什么样子

屏幕上应该有许多图像(假设最多 4-5 个),每个图像都有一个 FrameAnimation 作为背景,它是 oneTime(false)(代表一个正在奔跑的人)。这些图像中的每一个都需要有一个随机路径来跟随屏幕,这是在首次创建时计算的。所以奔跑的人会朝不同的方向绕过屏幕。每个图像都有一个 onClick 监听器,因此当单击它时,它将从屏幕上删除。

在从 1.6 开始的 Android 中执行此操作而不会导致性能下降或位图内存泄漏的最佳方法是什么?

我附上一张图片作为示例。谢谢大家的宝贵时间。

enter image description here

稍后编辑:最好的解决方案似乎是使用扩展的 SurfaceView。我看到了一些添加、移动图像的示例,但我还不知道如何拦截 onTouchEvent。我可以覆盖 surfaceView 的 onTouchEvent。我现在想到的解决方案是获取触摸点的 x 和 y,然后查看动画图像中是否有 x、y 按下点。这看起来很复杂。

最佳答案

每个奔跑的 Sprite 都有自己的矩形坐标;左上角和右下角。您需要做的就是遍历您的 sprite 并查看用户是否触摸了 x 和 y 在 sprite 的矩形内的点。

但是,您还必须同步一些代码块...

关于android - 在 Android 中的随机路径上为 imageview 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087926/

相关文章:

android - 如何更改 LocationRequest 的间隔

android - 如何在按钮单击事件中调用异步任务

javascript - 可观察到的 knockout 是否可以实现数字动画行为?

html - 如何在屏幕中央显示一个css动画

Android 的 intent-filter 匹配文件而不考虑其扩展名

安卓 : How to detect that the selected audio is being played in Android Studio

android - 顺序播放动画 - 运动布局

android - 膨胀复选框时出错

ios - Create Circle Image View IOS问题

android - 自定义 View 不必要地重绘