flex基礎學習

Flex是Adobe開發的一種RIA,富互聯網應用,用Flex開發的東西均可以使用Flash作出來,可是Flex主要是面向的程序開發人員,前臺使用ActionScript和MXML。javascript

上面介紹了flex是什麼,下面針對flex項目本身寫一下本身的認識。ActionScript相似於web開發的javascript,不過他的語法有強類型int,string等,mxml他相似於web中的html中的標籤。二者結合能夠很好的將代碼分離開來。css

對於mxml來講<mx:Application 中Application至關於舞臺的更節點就像html中的html爲根節點同樣。其餘向<mx:TitleWindow等容器都是在Application的節點上創建的,不然界面是沒法展示的這個我是深有體會。html

對於ActionScript.as文件能夠認爲他裏面主要就是對命名空間的導入和一些定義函數,類在裏面。java

flex開發我的理解也是基於事件驅動來渲染界面的。web

flex加載模塊的組件能夠用ModuleLoader來加載,此類繼承自vbox。vbox是垂直佈局,hbox爲水平佈局。ajax

對於flex遠程交互,項目中主要用到的是RemoteObject此對象來進行交互的,不過對於返回的結果接受要用兩個函數來接受, addEventListener(ResultEvent.RESULT,pOnOk);addEventListener(FaultEvent.FAULT,pOnEr);一個是用來監聽成功,一個是用來監聽失敗。這一點與ajax調用很類似。ide

flex的開發給個人我的感受有點像Extjs,不少地方都須要註冊事件,而後將方法註冊進去。函數

下面給貼出一段代碼登陸界面與總體界面佈局的佈局

登陸界面代碼以下:flex

<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" 
	horizontalScrollPolicy="auto" verticalScrollPolicy="auto" title="登陸" height="200" width="400"
	showCloseButton="false" creationComplete="init()" >
	<mx:Script source="Login_As.as" />
	<mx:Label x="47" y="37" text="登陸名稱" />
	<mx:Label x="47" y="70" text="登陸密碼"/>
	<mx:TextInput x="107" y="35" width="218" id="tbox_userName" text="" maxChars="10" enter="Logins()"
		restrict="a-zA-Z0-9"/>
	<mx:TextInput x="107" y="69" width="218" id="tbox_password" text="" displayAsPassword="true" maxChars="25"
		enter="Logins()"/>
	<mx:Button id="btnLogin" x="271" y="104" label="登 錄"/>
</mx:TitleWindow>

 總體模板佈局以下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
	horizontalScrollPolicy="off" verticalScrollPolicy="off" 
	paddingTop="0" paddingLeft="0" paddingRight="0" paddingBottom="0"
	layout="absolute" creationComplete="init()" themeColor="#ffffff" backgroundColor="#ffffff">
	<mx:Script source="Index_As.as" />
	<mx:Style source="style.css"/>
	<mx:VBox id="controls" width="100%" height="100%" horizontalGap="0" verticalGap="0"  backgroundColor="#ffffff">
		<mx:HBox styleName="TitleBar" id="idTitleBar" width="100%" height="32" paddingTop="2" backgroundColor="#eaeaea">
			<mx:Label id="idTitle" fontSize="18" text="XXXX業務管理系統"/>
			<mx:Label id="idAreaName" verticalCenter="0" fontSize="18" text=""/>
		</mx:HBox>
		<mx:Canvas id="idOperBar" width="100%" height="24" x="2" y="-5">
			<mx:Label id="lbAgentInfo" left="10" verticalCenter="0" text="" />
		</mx:Canvas>
		<mx:VBox id="vbox_middle" width="100%" height="100%">
			<mx:HDividedBox id="HDBox" width="100%" height="100%" paddingLeft="5" paddingBottom="5" paddingRight="5">
				<mx:VBox id="vbox_menu" width="200" height="100%" borderColor="#aaaaaa" borderStyle="solid">
					<mx:Tree id="tree_menu" width="100%" height="100%" verticalScrollPolicy="auto" 
							horizontalScrollPolicy="auto" borderStyle="none" openItems="true" scroll="true"/>
				</mx:VBox>
				<mx:VBox id="vbox_content" width="100%" height="100%" borderColor="#aaaaaa" borderStyle="solid">
					<mx:ApplicationControlBar id="idModuleNameBar" width="100%">
						<mx:Label id="idModuleName" text="" fontWeight="bold"/>
					</mx:ApplicationControlBar>
					<mx:ModuleLoader id="MLoader" url="desktop.swf" width="100%" height="100%" verticalScrollPolicy="off" horizontalScrollPolicy="off"/>
				</mx:VBox>
			</mx:HDividedBox>
		</mx:VBox>	
		
	</mx:VBox>
</mx:Application>

 具體flex裏面某個組件幹什麼用的,這裏就不詳細寫了。

相關文章
相關標籤/搜索