我已经建立了一个自定义视图组,并开始在他的视图组中实现动画。我遇到的问题是我需要视图组能够动画,而不会让它的孩子被同一个动画制作动画。
让我们说我将视图组缩放到2倍大小,但我仍然想让孩子保持相同的大小(从而使更多的孩子进入视图组)。
现在我按照以下方式调用动画:
ScaleAnimation expandAnimation = new ScaleAnimation(1,2,1,2);
this.startAnimation(expandAnimation);
提前致谢! :)
答案 0 :(得分:3)
您无法直接执行旧版Android动画API的操作。您已经注意到一个限制 - 扩展组也包括孩子。
第二个限制是旧的Android动画API仅影响您动画的项目的可视渲染,并且仅影响动画处于活动状态的时间。换句话说,就视图布局而言,它实际上并未改变所讨论项目的大小或位置。它只是暂时以不同的方式呈现它。因此,例如,要设置在屏幕上从x移动到y的按钮的动画,您需要运行动画,然后在动画完成时使用布局API实际重新定位按钮。
你正在寻找的方法可能是:
Android在3.0 Honeycomb中引入了更新,更灵活的动画API,但不幸的是,如果你的目标是2.x设备(即手机),它就不可用。希望一旦新的API成为主流,这将更容易。