天天看點

flex基礎——分别用MXML、ActionScript初始化controls元件

一個Flex控件其實是一個AS類,它即可以在MXML裡用基于标簽的方式聲明,也可以使用AS語句進行聲明。

為了弄清我們該怎樣使用一個控件,你首先得知道控件的公開的接口,即它的API,你需要知道有關控件的如下知識:

屬性、方法、事件、樣式、效果。你可以使用MXML初始化你的控件,我們稱之為聲明執行個體。你也可是使用 ActionScript3.0來初始化控件,我們叫它程式設計執行個體。

用MXML實作Label控件:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
	<s:Button id= "myButton" label="click me" />
	<s:Label text="Hello World" fontSize="18" fontWeight="bold" x="30" y="30" />
</s:Application>
           

用ActionScript實作Label控件:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
		<fx:Script>
		<![CDATA[
			import mx.events.FlexEvent;
			import spark.components.Label;
			protected var myActionScriptText:Label;
			protected function creationCompleteHandler(event:Event):void{  
				myActionScriptText = new Label();  
				myActionScriptText.text = "Hello World";  
				myActionScriptText.setStyle("fontSize", 18);  
				myActionScriptText.setStyle("fontWeight", "bold");   
				myActionScriptText.setLayoutBoundsPosition(30,30,true);
				this.contentGroup.addElement(myActionScriptText);
				
			}
		]]>
	</fx:Script>
	<s:Button id= "myButton" label="click me" 
			  click="creationCompleteHandler(event)">
	</s:Button>
</s:Application>
           

以上可以看出,兩種語言實作了同樣的作用,但是MXML卻用了減少了很多行的代碼。而ActionScript卻可以重複利用其中的資料。其實各有千秋。

繼續閱讀