Коя е най-добрата архитектура за изглед във flex?

Започнах да уча flex 4 и се замислих как да променя изгледите. Така че имам въпрос какво обикновено използват хората - състояния или изгледи (ViewStack). Типът уеб приложение, което правя, може да използва и двете, но какво използват разработчиците в големи проекти или може би не използват нито едно от споменатите преди?

Също така имам въпрос относно ViewStack. Ако напиша:

<mx:ViewStack id="views" resizeToContent="true" verticalCenter="0" horizontalCenter="0" >
    <s:NavigatorContent id="navOne">
        <s:Label text="asdas" x="0" y="0"/>
    </s:NavigatorContent>

тогава не мога да променя местоположението на детето му. Етикетът остава в центъра на екрана. Ако премахна вертикалния и хоризонталния център от ViewStack и ги поставя в таговете на Label, тогава етикетът ще бъде в горния ляв ъгъл, но не и в центъра. Как да контролирам тези местоположения?


person randomUser56789    schedule 11.08.2011    source източник


Отговори (1)


Доколкото използвате Flex 4, можете да предпочитате състояния. И има поне две причини за това:

  1. Състоянията на Flex 4 са много по-декларативни, отколкото във Flex 3.
  2. Flex 4 няма Spark реализация на ViewStack и е доста остаряла (необходимостта от използване на NavigatorContent с Spark контейнер е още едно доказателство за този факт).

Втората част на въпроса. Проблемът е, че вашият ViewStack няма размер. Така че най-накрая има размер на съдържанието (Label размер). Така че verticalCenter и horizontalCenter са просто подравняване на вашето ViewStack. За да контролирате размера и подравняването на ViewStack, трябва да се грижите за размерите. Нещо като:

<mx:ViewStack id="views" resizeToContent="true" verticalCenter="0" 
    horizontalCenter="0" width="500" height="300" >
    <s:NavigatorContent id="navOne" width="100%" height="100%">
        <s:Label text="asdas" x="0" y="0"/>
    </s:NavigatorContent>
person Constantiner    schedule 12.08.2011
comment
Ако използвам Flex 4, използвам само състояния, тъй като не виждам смисъл да използвам viewstacks, които правят абсолютно същото. Ако искате, сигурен съм, че бихте могли да създадете еквивалент на spark Viewstack в няколко десетки реда код. - person J_A_X; 12.08.2011
comment
Благодаря за разяснението. + благодаря за помощта с втория въпрос, сега работи както възнамерявах. - person randomUser56789; 12.08.2011