不推荐使用AbsoluteLayout类(包含带有x和y属性的LayoutParams类)。虽然可以滚动我自己的扩展ViewGroup的类,并使我能够控制子视图的绝对定位 - 这是精灵动画的最佳方法吗?
首先,我假设通过改变x和y位置来移动ImageViews比在SurfaceView中重绘位图更有效。这个假设是对的吗?
我更广泛的问题是:在Android中动画精灵的最佳方法是什么?
答案 0 :(得分:0)
要回答第一个问题:您可以改用FrameLayout。它是所有布局管理器中最简单的,只需将所有孩子都打到左上角。您可以使用offsetTopAndBottom()
上定义的offsetLeftAndRight()
和View
函数对其进行翻译。或者,FrameLayout的布局参数支持设置边距。 Droid-Fu使用这种技术在屏幕上放置粘性视图。这是source code。
至于你的另一个问题,我假设你的意思是基于关键帧的动画。 Frame animations are documented here
答案 1 :(得分:0)
如果你的动画只包含几帧,我发现在SurfaceView中重绘位图更加可行。所以这取决于你正在做什么样的动画。