Как предполагает Джонатан, родительский контейнер вашей Panel, вероятно, использует не BasicLayout, а некоторую жидкую компоновку (например, VerticalLayout).При использовании жидкостного макета вы не можете использовать атрибуты абсолютного положения, такие как «x», «y», «horizontalCenter», «verticalCenter», «left», «right», «top» или «bottom».Они просто будут игнорироваться, что, конечно, имеет смысл, потому что объекты должны располагаться относительно друг друга.
В любом случае, это работает отлично:
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<s:states>
<s:State name="small" />
<s:State name="big" />
</s:states>
<s:transitions>
<s:Transition>
<s:Resize target="{panel}" />
</s:Transition>
</s:transitions>
<s:Panel id="panel" horizontalCenter="0" verticalCenter="0"
width.small="200" height.small="100"
width.big="400" height.big="200">
<s:Button label="toggle size"
click="currentState = currentState == 'small' ? 'big' : 'small'" />
</s:Panel>
</s:Application>