`
yexin218
  • 浏览: 971169 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

Flex3界面导航设计教程

    博客分类:
  • Flex
阅读更多

 

  一个导航容器可以通过一组子容器来监控用户的操作。比如,TabNavigator 这个容器就可以通过一组tabs 来让用户选择可见的子容器。Flex3 提供了三种主要的导航容器:

Ø       ViewStack

Ø       TabNavigator

Ø       Accordion

接下来的时间逐个介绍每个容器的使用方法。

1.           ViewStack 导航容器

  ViewStack 导航容器,以下简称VS 容器。是由很多子容器组合起来的,这些子容器相互叠在彼此之上,并且在某一特定的时间内只有一个容器是可见的或者说是Active 状态的。VS 容器没有定义 built-in 的机制来切换当前处于active 状态的容器,所以用户需要使用像LinkBar,TabBar 或者ToggleButtonBar 这些控件,或者使用ActionScript 来更改当前可见容器的状态。比你可以定义一系列的按钮来控制所有子容器的切换动作。

图中左边的图片显示VS 容器中第一个子容器是激活的,可以用索引的方法来表示VS 容器里面的子容器。比如0-n-1.

创建一个VS 容器

  使用<mx:ViewStack> 标记就可以定义一个VS 容器,当然还可以设定很多属性了:

Ø       selectedIndex 表示如果VS 容器里里面有多余一个的子容器,那么selectedIndex 的值所对应的那个子容器就是active 的可见的。其取值范围0n-1.n 代表子容器的个数。

Ø       selectedChild 当前激活的容器当定义了一个或者多个子容器,如果没有定义子容器,其值为null 。并且这个属性必须是现在AS 当中指定你要激活的那个容器的id.

Ø       numChildren VS 容器当中到底有多少个子容器。

举例:我们试图增加一些特效。

<!-- containers\navigators\VSLinkEffects.mxml -->
 <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
   <mx:WipeUp id="myWU" duration="300"/>
   <mx:WipeDown id="myWD" duration="300"/>
   <mx:WipeRight id="myWR" duration="300"/>
   <mx:VBox>
     <mx:LinkBar dataProvider="{myViewStack}"
       borderStyle="solid"
       backgroundColor="#EEEEFF"/>
       <mx:ViewStack id="myViewStack"
            borderStyle="solid"
            width="100%"
            creationCompleteEffect="{myWR}">
      <mx:Canvas id="search"
          label="Search"
          hideEffect="{myWD}"
          showEffect="{myWU}">
       <mx:Label text="Search Screen"/>
     </mx:Canvas>
     <mx:Canvas id="custInfo"
         label="Customer Info"
         hideEffect="{myWD}"
         showEffect="{myWU}">
      <mx:Label text="Customer Info"/>
     </mx:Canvas>
     <mx:Canvas id="accountInfo"
         label="Account Info"
         hideEffect="{myWD}"
         showEffect="{myWU}">
       <mx:Label text="Account Info"/>
    </mx:Canvas>
  </mx:ViewStack>
 </mx:VBox>
</mx:Application>

 

效果图:

2.           TabNavigator 导航容器

TabNavigator 容器用来创建和管理一组tabs ,这些tabs 可以帮用户导航选择需要的子容器板块。

创建TabNavigator 容器

你可以通过<mx:TabNavigator> 标记来定义个TabNavigator 容器。用户可以通过tab 选择对应的板块容器。当用户改变当前容器时, TabNavigator 容器都会触发一个change 事件。

TabNavigator 容器会自动为每一个子容器创建一个tab, 并且通过label 属性设定tab 里面的值。当然你可以指定图片等。用户还可以设定enable disable 属性来决定那个容器可用与否。

举例:

<?xml version="1.0"?>
<!-- containers\navigators\TNEffect.mxml -->
  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:WipeLeft id="myWL"/>
    <mx:TabNavigator>
     <mx:VBox label="Accounts"
      width="300"
       height="150"
       showEffect="{myWL}">
    <!-- Accounts view goes here. -->
    <mx:Text text="This is a text control."/>
  </mx:VBox>
  <mx:VBox label="Stocks"
      width="300"
      height="150"
      showEffect="{myWL}">
       <!-- Stocks view goes here. -->
       <mx:Text text="This is a text control."/>
  </mx:VBox>
  <mx:VBox label="Futures"
      width="300"
      height="150"
       showEffect="{myWL}">
         <!-- Futures view goes here. -->
     <mx:Text text="This is a text control."/>
 </mx:VBox>
 </mx:TabNavigator>
</mx:Application>

 

效果如图:

TabNavigator 支持键盘导航功能,即可以通过键盘来选择tabs. 具体可以参考development guide.

 

3.           Accordion 导航容器

窗体是很常见的容器了,可是有时候组件很多一个窗体放不下,accordion 就提供了一个可以来回移动的窗体。这个容器可以包含一系列的子panels 。但是任意时刻都只有一个panel 是可见的。

创建Accordion 容器

你可以使用<mx:Accordion> 标记来创建这个容器。举例说明:

 

 

<?xml version="1.0"?>
<!-- containers\navigators\AccordionButtonNav.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="600"
    height="600"
    creationComplete="setButtonStyles();">
<mx:Script>
    <![CDATA[
     public function setButtonStyles():void {
      comp.getHeaderAt(0).setStyle('color', 0xAA0000);
      comp.getHeaderAt(1).setStyle('color', 0x00AA00);
  }
      ]]>
</mx:Script>
<mx:Accordion id="comp" height="250">
     <mx:Form id="shippingAddress" label="1. Shipping Address">
        <mx:FormItem id="sfirstNameItem" label="First Name">
        <mx:TextInput id="sfirstName"/>
        </mx:FormItem>
     </mx:Form>
       <mx:Form id="billingAddress" label="2. Billing Address">
       <mx:Button id="backButton" label="Back" click="comp.selectedIndex=0;"/>
       <mx:Button id="nextButton" label="Next" click="comp.selectedIndex=2;"/>
     </mx:Form>
     <mx:Form id="creditCardInfo" label="3. Credit Card Information">
     </mx:Form>
 </mx:Accordion>
</mx:Application>

 我们增加了一些效果。比如用户通过按钮可以选择那个panel 是可见的。

<mx:Button id="lastButton" label="Last" click="accordion1.selectedIndex = accordion1.numChildren - 1;"/>
 

这段程序就可以打开最后一个 panel.

同时还可以设定每个 panels 的外观,包括字体、颜色等。

效果图:

当然 Accordion 也有键盘导航功能。具体参考 development guide.

 

------------------------------------------------------

附:

  Flex3界面布局教程(1)  

  Flex3界面布局教程(2)

-----------------------------------

 

 

3
3
分享到:
评论
2 楼 yexin218 2008-07-19  
不是把  好好笑哦  你怎么知道的阿?
1 楼 #天琪# 2008-07-17  
     
      意外地发现这居然是你的博客……然后我又笑了……
                              
                                                                     天天天晴留

相关推荐

    Flex3界面布局中文教程--一路风尘制作

    本文将深入解析Flex3中的多种布局容器及其应用,帮助开发者更好地掌握界面设计的核心技巧。 #### Canvaslayout容器与布局模式 Canvaslayout容器是Flex3中用于定义矩形框架区域的基础容器,主要用于放置用户自定义...

    FlexBuilder 3 中文教程.rar

    2. **Flex Builder界面**:了解IDE的布局,包括项目导航器、源代码编辑器、设计视图和调试器等,以及如何配置和自定义工作区以提高效率。 3. **MXML与ActionScript**:MXML用于定义用户界面的组件和布局,而...

    从零开始系列-Flex3视频教程

    第六至第十四章则分别围绕文本、按钮、数据绑定、图表、交互设计、定位布局、导航、菜单设计以及行为和特效等方面,通过实例教学,使学员能熟练运用Flex创建各种用户界面元素。 第十五章"样式和主题"讨论了如何通过...

    Adobe Flex Builder 3.0官方使用教程

    第六章是关于如何使用MXML和CSS来设计和构建Flex用户界面。我们将介绍各种UI组件,如按钮、文本框、列表等,并讨论如何使用这些组件来创建直观且响应式的界面。 #### 七、添加视图状态(Chapter 7) 在第七章中,...

    (十四)Flex4_导航

    总的来说,"Flex4_导航"这一主题涵盖的是Flex 4框架中关于用户界面导航的设计与实现,包括使用Navigator组件、Skinning和States等技术,以及如何通过源码实践这些概念。通过阅读相关博客和分析提供的项目文件,...

    flex + java教程

    - **Flex 3 及 Flex Builder 安装**: Flex 3 是该教程所使用的版本,而 Flex Builder 是 Adobe 推出的一款集成开发环境(IDE),专为 Flex 和 Flash 开发设计。 - 安装过程包括下载 Flex SDK、设置环境变量等步骤。 ...

    Flex教程-王一松

    Flex界面设计与组件 - **可视化页面组件**:Flex提供了一系列丰富的UI组件,如按钮、文本框等,这些组件可以通过可视化的方式进行布局和设计,大大简化了前端开发的工作量。 - **页面跳转与导航**:Flex支持在不同...

    flex 入门实例教程

    - **小型Flex网站**:介绍了如何构建一个完整的Flex网站,包括页面导航、内容布局等。 - **Flex与WebService通信**:演示了Flex应用程序如何与后端服务进行交互。 - **Flex与Ajax交互**:展示了如何结合Ajax技术...

    Flex3 RIA开发详解与精深实践

    本教程“Flex3 RIA开发详解与精深实践”旨在帮助初学者快速入门并深入理解Flex3的开发技术。 一、Flex3基础 1. 开发环境:Adobe Flex Builder是主要的开发工具,它基于Eclipse平台,提供了代码编辑、调试和部署等...

    flex mobile 开发教程

    ### Flex 4.5 移动开发教程知识点总结 #### 1. 入门与基础知识 - **Flex 4.5 移动开发概述**:Adobe Flex 4.5 版本增强了移动设备上的开发能力,包括智能手机和平板电脑。通过 Adobe AIR,开发者能够如同在桌面平台...

    Flex 导航菜单 绝非一般 cool

    在本教程中,我们将深入探讨“Flex 导航菜单 绝非一般 cool”这一主题,这是一个使用Flex技术创建的独特且吸引人的菜单导航系统。通过覆盖提供的`src`文件夹,您可以轻松地将这个酷炫的菜单集成到您的Flex项目中。 ...

    Flex简明中文教程(更新到第四章)

    FlexBuilder的界面由多个常用板块组成,如FlexNavigator(项目导航器)、编辑模块(分为代码和设计两部分)、FlexProperties(属性面板)。这些模块帮助开发者高效地管理项目、编辑代码和调整界面布局。 ##### 创建...

    《Flex 4实战》.pdf

    Flex 3还在设计和开发协作方面取得了创新,让设计人员和开发人员能够紧密合作,创造出既美观又功能强大的Flex应用。此外,Flex Builder中的增强功能降低了新用户的入门难度,并有助于开发出易于扩展的应用程序。 ...

    Flex布局学习资料

    这种布局方式特别适合处理需要动态调整的界面,比如响应式设计、自适应网格系统以及在不同设备上保持一致显示的内容。 《Flex弹性布局学习总结.docx》可能是作者对Flex布局学习过程的全面总结,包括基础概念、主要...

Global site tag (gtag.js) - Google Analytics