使用现成的布局不是一个选项(有太多无法处理的问题),然而需要添加到容器中的图形对象(例如ImageView)在内置动画中进行平移、旋转等操作是必要的。
AbsoluteLayout似乎是可用于此目的最合理的布局。它允许添加派生视图对象并编写自己的算法来定位它们。但是...它已被弃用。真是遗憾!谁想使用已弃用的API?
下一步最合理的事情是编写自己的布局,子类化神秘ViewGroup..这就是整个过程分崩离析的地方(至少对我来说是这样的)。这个过程很复杂、易错,并且很棘手,就像为swing编写自己的自定义布局一样(我几年前的确这样做了,我记得它更简单)。
然后(出于绝望)子类化View,覆盖onDraw方法并直接在Canvas上进行绘制似乎是唯一的直接解决方案(尽管这让我想起了java2D的日子...花费数小时来实现项目的高1%),但是您正在放弃希望应用于画布上绘制的方便的内置动画API。
结论是,除非我错过了什么,否则当前Android架构与其他UI技术(例如Flash或JavaFX)提供的编程范例有些远离。 原因是,在JavaFX中,Scene对象(类似于Android的View概念)默认提供绝对布局。 然后,您可以根据需要应用其他现成布局。 但是对于需要自定义布局的情况,您无需执行任何操作。
我有点惊讶,因为在Android中这个选项不可用,在其他用户界面技术中已经解决了一个非常普遍的需求。我仍然希望在Android中能找到第五个选项。
有没有专家能提供一些关于这个主题的信息呢?
谢谢。