Вкладки в ActionScript - PullRequest
       2

Вкладки в ActionScript

0 голосов
/ 07 декабря 2010

как поместить вкладки в приложение, используя только actionScript, там много примеров использования элементов управления flex mx для tabnavigator, но я хочу использовать только actionscript или flashscript, пожалуйста, помогите

Ответы [ 2 ]

0 голосов
/ 07 декабря 2010

Тебе нужно накатить свое, но это действительно легко.Если количество вкладок должно быть статичным, я бы рекомендовал сделать дизайн вкладок в Flash IDE.Создайте символ контейнера и символ табуляции, затем повторите символ табуляции горизонтально внутри символа контейнера.Присвойте каждому экземпляру вкладки логическое имя, например «tab1», «tab2» и т. Д. В коде вы можете создать экземпляр символа контейнера и добавить слушатели для каждой вкладки следующим образом:

var tabContainer:MovieClip = new TabContainer();
addChild(tabContainer);
tabContainer.tab1.addEventListener(MouseEvent.CLICK, tab1_clickHandler);
tabContainer.tab2.addEventListener(MouseEvent.CLICK, tab2_clickHandler);

В обработчике для каждогоэто то место, где вы будете устанавливать вид, отображаемый под контейнером.

Если количество вкладок должно быть динамическим, то у вас будут другие архитектурные соображения, на которые я не буду идти, но достаточно сказать, что вы бы использовалиалгоритм компоновки для размещения каждой новой вкладки после x + width этой последней вкладки и порядок вкладок карты (childIndex внутри контейнера вкладок) для просмотра индекса (возможно, индекса в массиве представлений)

0 голосов
/ 07 декабря 2010

Я уверен, что есть много способов добиться этого с AS3.Попробуйте разбить его с точки зрения функциональности, а затем с точки зрения отображения.

С точки зрения функциональности у вас не намного больше, чем меню и набор объектов DisplayObject.

Большая часть ваших усилий будет потрачена на представление, где основная задача состоит в том, чтобы просто создать выбранную вкладку и контент так, чтобы они выглядели на одной странице.может использовать CustomEvent для переноса данных форм, каждый раз, когда вы переходите на следующую вкладку, отправляйте событие с обновленными значениями.

     // Pseudo Code
     function tabClickHandler( event:MouseEvent ):void
     {
         currentForm.validate();
         ++currentTabIndex;

         if( currentForm.valid )
         {
              var data:Object = currentForm.data;
              dispatchEvent( new CustomEvent( data ));

         }
     }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...