任何人都知道如何制作动画Flex 4中的布局的子元素的大小/位置?
例:
我有一个自定义布局的列表组件。 我想,当我改变孩子的元素,我希望他们给自己的动画移动到新位置的位置。
任何人都知道如何制作动画Flex 4中的布局的子元素的大小/位置?
例:
我有一个自定义布局的列表组件。 我想,当我改变孩子的元素,我希望他们给自己的动画移动到新位置的位置。
目前还没有内置的方式,也没有计划,使在Flex 4的动画布局:/。
我做了什么来实现这一目标是动画布局“setLayoutBoundsPosition”和“setLayoutBoundsSize”的设置。 因此,而不是建立在布局的每个项目,这实际上将设置宽度和高度明确了“移动”和“调整”效果,设置矩阵。 然后确保布局不会被再次无效(如果直接设置宽度/高度会发生),或者你可能开始得到一个无限循环。 您可能需要做一些技巧来得到这个工作的权利(我没有得到它与星火效果非常正确工作,但它真的很容易与中间人/ Tweenmax做,因为他们有插件和这样使用“setActualSize “或‘setLayoutBoundsSize’等)。
我用TweenMax动画布局,而且他们有一些插件来使这个容易。 TweenMax明显看起来像快3倍(20个FPS VS 7FPS)比星火效果也一样,所以我与去。 它看起来是这样的,在updateDisplayList
布局的方法。
TweenMax.to(child, duration, {setLayoutBoundsPosition:{x:childX * i, y:childY * i}});
就像你通常会...
public override function updateDisplayList(width:Number, height:Number) : void {
for (var i:uint = 0; i < target.numElements; i++)
{
var resizeElement:Resize = new Resize(target.getElementAt(i) as IVisualElement);
resizeElement.widthTo = 500;
resizeElement.play();
}
}