Есть два способа сделать то, о чем вы просите. Первое - это то, что вы спрашиваете, а второе - то, что я бы порекомендовал.
Первый:
Создайте свое приложение main.mxml, а затем создайте отдельные файлы component1.mxml и component2.mxml для каждого из ваших состояний. Затем в своем приложении настройте это так:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*">
<s:states>
<s:State name="State1"/>
<s:State name="State2"/>
</s:states>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<local:Component1 includeIn="State1"/>
<local:Component2 includeIn="State2"/>
</s:Application>
Второй способ, который я рекомендую из-за вашего описания приложения, разбивает его на несколько модулей swf с одним приложением swf. Таким образом, пользователь загружает только то, что планирует использовать. В этом сценарии сделайте то же, что и раньше, но создайте модули вместо компонентов.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" xmlns:local="*">
<s:states>
<s:State name="State1"/>
<s:State name="State2"/>
</s:states>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:ModuleLoader url="Component1.swf" includeIn="State1"/>
<mx:ModuleLoader url="Component2.swf" includeIn="State2"/>
</s:Application>
person
Bernesto
schedule
24.11.2010