Какова лучшая архитектура представления в 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, тогда label будет в левом верхнем углу, но не в центре. Как я могу контролировать эти места?

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>
Другие вопросы по тегам