Какова лучшая архитектура представления в flex? - PullRequest
0 голосов
/ 12 августа 2011

Я начал изучать 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 Ответ

2 голосов
/ 12 августа 2011

Поскольку вы используете 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>
...