`
gdljg0460
  • 浏览: 42648 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

flex 3 学习小结(状态效果篇)

    博客分类:
  • flex
阅读更多

1 登陆+验证码

 

 <?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="initApp()">
 <mx:states>
     <!--新建“index”State-->
  <mx:State name="index">
      <!--移除“登录框”-->
   <mx:RemoveChild target="{panel1}"/>
   <!--添加新的组件-->
   <mx:AddChild position="lastChild">
    <mx:Label x="231" y="174" text="欢迎来到主页" fontFamily="Georgia" fontSize="20" />
   </mx:AddChild>
  </mx:State>
 </mx:states>
 <mx:Script>
  <![CDATA[
      import mx.controls.Alert;
      private function initApp():void
      {
       //显示校验码
         lblCheckCode.text=GenerateCheckCode(); 
      }
   private function loginHandle():void
   {
    //空的情况
    if(txtUsername.text==""||txtPassword.text=="")
    {
     Alert.show("请输入完整数据!");
    }
    else
    {
     //合法用户
     if

(txtUsername.text=="Administrator"&&txtPassword.text=="123456"&&txtCheckCode.text.toLocaleLowerCase()

==lblCheckCode.text.toLowerCase())
     {
      currentState="index";
     }
     //登录失败
     else  
     {
      //校验码错误
      if(txtCheckCode.text.toLowerCase()!=lblCheckCode.text.toLowerCase()) 
         {
            Alert.show("校验码错误!");
            //重新生成校验码
            lblCheckCode.text=GenerateCheckCode(); 
         }
         //用户名或密码错误
         else  
        Alert.show("用户名或密码错误!");
     }
    }
   }
   private function resetHandle():void
   {
    txtUsername.text="";
    txtPassword.text="";
    txtCheckCode.text="";
   }
            
            //生成随机码
   private function GenerateCheckCode():String
   {
    //初始化
    var ran:Number;
    var number:Number;
    var  code:String;
    var checkCode:String ="";
    //生成四位随机数
    for(var i:int=0; i<4; i++)
    {
     //Math.random生成数为类似为0.1234
     ran=Math.random();
     number =Math.round(ran*10000); 
     //如果是2的倍数生成一个数字
     if(number % 2 == 0)
       //"0"的ASCII码是48  
       code = String.fromCharCode(48+(number % 10)); 
     //生成一个字母
     else  
       //"A"的ASCII码为65
       code = String.fromCharCode(65+(number % 26)) ;
     checkCode += code;
    }
    return checkCode;
   }

  ]]>
 </mx:Script>
 <mx:Panel x="108" y="71" width="349" height="257" layout="absolute" title="用户登录" fontFamily="Georgia" 

fontSize="12" id="panel1">
  <!--  "用户名"标签  -->
  <mx:Label x="41.5" y="33" text="用户名"/> 
  <!--  "密码"标签  -->   
  <mx:Label x="42.5" y="81" text="密码"/> 
  <!--  "用户名"输入框  -->    
  <mx:TextInput x="94.5" y="33" id="txtUsername"/>  
  <!--  "密码"输入框  -->
  <mx:TextInput x="95.5" y="81" id="txtPassword" displayAsPassword="true"/>
  <!--  "登录"按钮  --> 
  <mx:Button x="82.5" y="159" label="登录" id="btnLogin" click="loginHandle()"/> 
        <!--  "重置"按钮  --> 
  <mx:Button x="181.5" y="159" label="重置" id="btnReset" click="resetHandle()"/> 
  <!--  "校验码"标签  --> 
  <mx:Label x="165.5" y="125" id="lblCheckCode" width="42.5" color="#377CD0"/>
  <mx:LinkButton x="216" y="123" label="看不清楚?" id="linkbtnReGenerate" 

click="lblCheckCode.text=GenerateCheckCode();" fontFamily="Georgia" fontSize="11"/>
  <mx:Label x="39.5" y="123" text="校验码"/>
  <!--  "校验码"输入框  --> 
  <mx:TextInput x="96.5" y="121" id="txtCheckCode" width="61" maxChars="4"/>
 </mx:Panel>
</mx:Application>

 

 注意,flex 3里,没新窗口的概念,因此有象flash中的state状态的概念,因此在状态面板中可以新建状态state即可,
比如这里建立了index的状态,写下登陆后的主页.并且用
 currentState="index";去跳转了.

 

2 菜单导航
   基本的:

 <mx:MenuBar id="myMenuBar" labelField="@id" showRoot="false" width="293" horizontalCenter="0" y="24"  

change="menuClickHandle(event)">
        <mx:XMLList>     <!-- XMLList标签表示以xml形式存储数据 --> 
            <menuitem  id="Menu1" >  <!-- 菜单项,以关系来表示菜单项与子菜单项 -->
                <menuitem id="SubMenu1" type="radio" groupName="one"/>
                 <menuitem id="SubMenu2" type="radio" groupName="one"/>
            </menuitem>
            <menuitem id="Menu2" />
            <menuitem id="Menu3" />
            <menuitem id="Menu4" >
                <menuitem id="SubMenu3" type="radio" groupName="two"/>
                <menuitem id="SubMenu4" type="radio" groupName="two"
                    selected="true"/>
                <menuitem id="SubMenu5" type="radio" groupName="two"/>
            </menuitem>
        </mx:XMLList>
还可以切换状态,根据菜单的事件
  import mx.events.MenuEvent;       //引用MenuEvent类
   private function menuClickHandle(e:MenuEvent):void
   {
    if(e.label=="SubMenu1")       //单击

“SubMenu1”时切换至“index1”
      currentState="index1";
    else if(e.label=="SubMenu2")     //单击“SubMenu2”时

切换至“index2”
      currentState="index2";
    else if(e.label=="SubMenu3")     //单击“SubMenu3”时

切换至“index3”
      currentState="index3";
    else if(e.label=="SubMenu4")     //单击“SubMenu4”时

切换至“index4”
      currentState="index4";
    else if(e.label=="SubMenu5")     //单击“SubMenu5”时

切换至“index5”
      currentState="index5";
   }

 

3  状态效果改变,比如

 

<mx:transitions>
        <mx:Transition id="myTransition1" fromState="*" toState="index1">
            <mx:Parallel target="{myVBox1}">
                <mx:WipeDown duration="2000"/>
                <mx:Dissolve alphaFrom="0.0" alphaTo="1.0" duration="2000"/>
            </mx:Parallel>
        </mx:Transition>
....
</mx:tranmsitions>

 

 

分享到:
评论

相关推荐

    Flex3学习指南-是初学者学习Flex必备资料1

    Flex3学习指南是一份专为初学者设计的资源,旨在帮助他们掌握Adobe Flex 3这一强大的富互联网应用程序(RIA)开发框架。Flex 3在Web应用开发领域具有广泛的影响力,尤其在创建交互式、图形丰富的用户界面方面表现...

    flex3d效果展示

    Flex3D,全称为Adobe Flex 3D,是Adobe Flex框架的一个扩展,它允许开发者创建具有强大三维(3D)视觉效果的富互联网应用程序(RIA)。这个技术在2000年代中期非常流行,尤其在需要展示复杂数据或提供动态交互体验的...

    flex3学习入门资料

    flex的学习分为3个阶段,第一个阶段入门,第2个阶段提高,第3个阶段大师。 flex入门时学习flex初期的一本很好的资料,通过学习能快速体会flex。好不容易 找来与大家分享

    flex学习笔记 flex学习总结 flex学习教程

    3. **Flex组件库**:Flex提供了丰富的预定义组件,如Button、Label、Canvas等,可用于快速构建用户界面。理解组件的属性、事件和方法是提升开发效率的关键。 4. **数据绑定**:Flex支持数据绑定,允许视图组件直接...

    Flex3学习指南-是初学者学习Flex必备资料2

    Flex3学习指南是一份专为初学者设计的资源,它涵盖了使用Adobe Flex 3开发富互联网应用程序(RIA)的关键概念和技术。Flex3是基于ActionScript 3.0的开源框架,用于构建交互式、高性能的Web应用。这份指南可能是由一...

    Flex开发的类似3d屏风展示效果,供参考学习用

    通过学习和理解以上知识点,开发者可以深入掌握如何在Flex中创建类似3d屏风的展示效果,这对于提升RIA的用户体验和创新设计有着重要的价值。在实际项目中,这种效果可以应用于产品展示、画廊浏览、广告展示等多个...

    Flex 学习资料flex学习资料

    flex学习资料flex学习资料flex学习资料

    Flex4学习文档

    在学习目标方面,Flex4学习文档旨在让学员理解RIA和Flex的概念和特点,掌握ActionScript的基本语法,能够使用Flex控件和视图状态构建程序界面,使用Flex技术与其他应用或后端进行数据通信,并整合后台框架。...

    flex3.0学习指南

    Flex 3.0 学习指南是一份专为想要深入理解和掌握Adobe Flex 3.0技术的初学者或开发者设计的教程。Flex是基于ActionScript 3.0和Flash Player的开源框架,用于构建富互联网应用程序(RIA)。这份指南旨在帮助你从零...

    flex3D效果

    3. **库和类**:Flex3D框架提供的库和类文件,如`flex3d.jar`或相关的AS3类,是实现3D效果的基础。这些类可能包括了3D坐标系统、矩阵变换、渲染引擎等相关组件。 4. **配置文件**:项目可能包含XML配置文件,用于...

    flex4 学习全部资料

    学习文档通常包含了Flex4的基础知识,如MXML和ActionScript3语法、组件使用、数据绑定、事件处理、样式和皮肤等。这些文档可以帮助初学者快速上手,理解Flex4的开发流程。同时,它们也覆盖了高级主题,如自定义组件...

    flex4 学习资料

    5. **_states_ 和 _transitions_**:Flex4中新增的状态管理机制,使得组件在不同状态间切换更加平滑,可以定义过渡效果(transitions)来实现动态视觉效果。 6. **Graphical Asset Creation**:包括位图、矢量图...

    Flex动画效果教程

    Flex动画效果教程主要聚焦于如何在Flex开发环境中创建引人入胜的动态视觉体验。Flex是一种基于ActionScript和MXML的开源框架,主要用于构建富互联网应用程序(RIA)。它提供了丰富的图形库和强大的动画功能,使得...

    flex翻书效果 flex翻书效果

    Flex翻书效果是一种在网页或应用中实现模拟真实书籍翻页动画的技术,它利用了CSS3中的Flexbox布局模型和一些动态效果来创造出逼真的翻页体验。在现代Web开发中,这种效果常用于电子书、杂志或者产品展示等场景,以...

    Flex3中文版API

    7. **图形和动画**:利用Flex3,开发者可以创建复杂的矢量图形和流畅的动画效果,这得益于Flash Player的图形渲染能力。 8. **移动应用开发**:虽然Flex3主要是为桌面浏览器设计的,但通过Adobe AIR,开发者也能...

    Flex 3D圆形隧道效果

    Flex 3D圆形隧道效果是一种视觉震撼的交互式图形展示技术,主要应用于Web应用程序和富互联网应用(RIA)中。Flex是由Adobe开发的一种基于ActionScript 3.0的开源框架,用于构建具有丰富用户界面的Flash应用程序。在...

    FLEX和FLASH小日本的水波效果

    本文将详细探讨“FLEX和FLASH小日本的水波效果”这一主题,以及与之相关的知识点。 首先,让我们理解一下FLEX。FLEX是Adobe公司开发的一个开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,...

    flex4学习资料

    4. **States和Effects**:Flex 4允许开发者轻松管理应用程序的不同状态,如视图状态,以及添加过渡效果。这部分内容可能解释了如何使用states和effects来实现动态UI变化。 5. **皮肤和样式**:Flex 4支持更高级的...

    Flex3与flex4的区别

    下面将详细探讨Flex4与Flex3在组件架构、布局管理、状态使用、效果实现以及迁移过程中的关键差异。 ### 组件和外观架构 Flex4最显著的变化之一是引入了全新的组件和外观架构,称为Spark。这一架构不仅提高了性能,...

Global site tag (gtag.js) - Google Analytics