![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2010
Сообщений: 32
|
Добрый всем день.
Извините, если вопрос не совсем в тему. Я новичок во Flex и AS. Но немного владею java, поэтому с синтаксисом Action Script разбираться не сложно. Собираюсь написать небольшое приложение. Что-то вроде четырёх разных страниц. Если взять в аналогию html, то главная страница - ссылки на форум, новости, календарь, пользователи. Нажимаем на форум, получаем список форумов, далее выбираем один из форумов, попадаем в список тем. Ну и так далее. Как это организовать во Flex (или AS 3.0 - значения не имеет)? Есть идея: 1) добавляем компоненты на mx:Panel: <mx:Panel title="MyTitle" height="100%" width="100%" paddingTop="10" paddingLeft="10" paddingRight="10" paddingBottom="10"> <mx:VBox borderStyle="solid" paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10"> <mx:Button id="button1" label="Форум" width="100" click="showForum()" /> <mx:Button id="button2" label="Календарь" width="100" click="showCalendar()" /> <mx:Button id="button3" label="Пользователи" width="100" click="showUsers()" /> </mx:VBox> </mx:Panel> Но, как мне кажется, тут будет много условий if. И это только с одним разделом. При появлении дополнительных, код будет очень сложным. В общем, помогите с каким-нибудь примером. Спасибо за внимание. |
|
|||||
|
Почитайте справку про состояния (states) во флексе. Думаю, это то, что вам нужно.
|
|
|||||
|
Регистрация: Mar 2010
Сообщений: 32
|
Кип, спасибо за ответ. Это как раз то, что мне нужно.
Но теперь возник следующий вопрос. Я бы хотел из дочерних "стэйтов" переходить на также дочерние. Т.е. из форума перейти в календарь. Соответственно, чтобы отобразить стэйт календаря, надо в стэйте календарь удалить существующие ненужные компоненты. В принципе, когда стэйтов мало, можно поставить условие: Если стэйт форум, то удаляем компоненты форума. Но что делать, если стэйтов у меня 100 ? Как удалять дочерние ссылки? Есть ли, например, тэг <mx:removeAllChildComponents> или что-то в этом роде? При удалении несуществующих компонентов вылетает эксепшн (т.е. не "побывав" в стэйте форум, невозможно удалить его компоненты). Так я хотел сделать: при инициализации очередного стэйта удалять все компоненты - не вышло. Возможно есть какой-то шаблон? Добавлено через 15 часов 5 минут Видимо надо использовать transitions. Не дочитал статьи. Сегодня попробую. Отпишусь. |
|
|||||
|
Для форумов лучше наверное компоненты на основе DataGrid юзать.
<mx:removeAllChildComponents> )))) - делайте удаление по событию, а хендлер пишите на AS3 в теге |
|
|||||
|
Регистрация: Mar 2010
Сообщений: 32
|
спасибо, Aloran.
Вобщем, при переходе на новый стэйт, компоненты предыдущуего дочеренего удаляются, а основного (basedOn) остаются. а правильно ли я понял, что <mx:Transitions> нужны только для привязывания графических эффектов при переходе в другой стэйт? |
![]() |
![]() |
Часовой пояс GMT +4, время: 23:35. |
|
|
« Предыдущая тема | Следующая тема » |
|
|