我們使用兩種語言來編寫Flex程式:MXML和ActionScript。MXML是用來布局使用者界面元件的XML辨別語言,我們也可以使用MXML來定義一個程式的不可見部分,例如:到伺服器資料源的通路以及使用者界面元件和伺服器資料源的資料綁定。
一.簡單的MXML
建立一個HellowWorld.mxml檔案,并拷貝下面的内容,看一下運作結果。
<a></a>
這是一個最簡單的MXML程式,從這個例子,我們可以學到如下幾點:
1.<s:Application>是一個程式的root tag,代表一個Spark應用容器。一個項目應該隻有一個root tag.
2.xmlns:fx="http://ns.adobe.com/mxml/2009是ActionScript元素所在的命名空間
xmlns:mx="library://ns.adobe.com/flex/mx是MX控件集所在的命名空間
xmlns:s="library://ns.adobe.com/flex/spark是Spark控件集所在的命名空間
MX和Spark控件集有很多相同的控件,Spark是為Flex4新出的,盡量使用Spark控件集中的控件,在Spark控件集裡沒有相應的控件時再用MX控件集的控件
3.MXML 中的每個tag都和ActionScript中的類或屬性對應,ActionScript中的類在MXML中用節點表示,屬性可以用attribute表 示,也可以用property表示。比如Panel和Label都是Spark控件集中的類。text,fontSize等都是Label類的屬性
4.MXML的檔案名不能和ActionScript裡面的類和控件名相同,不能和MXML裡的tag相同,也不能是application,且字尾必須是小寫的mxml。
二.MXML中屬性的指派
MXML中的屬性可以用attribute表示,也可以用property表示。如果屬性的類型是簡單的類型,用兩種方式都能表示,如果是複雜的類型,則隻能用屬性的方式表示,其通用格式如下:
下面對于幾種常見的複雜類型,舉例說明一下
1.MXML中數組的表示
MXML中可以用tag<fx:Array>和</fx:Array>來表示一個數組,且該tag可以省略。
2.MXML中Vector的表示
3.MXML中XML對象的表示
4.MXML中property的值可以用{靜态變量}表示,也可以直接用常量表示。例如下面兩種方式都可以
5.MXML中用\來轉義特殊字元,用{\n}或&#13來表示換行符,用&lt;String&gt;來表示<String>
三.定制Application的外觀
1.控件庫裡有一些容器控件,可以進行控制應用的外觀,比如HGroup和VGroup控制控件的排列方式,TabNavigator添加Tab檢視方式等
2.用CSS控制外觀,需要用<fx:Style>tag來包含CSS的定義,且該定義必須是root tag的子節點。
3.用skin控制控件外觀
<s:Button skinClass="com.mycompany.skins.MyButtonSkin" />
四.ActionScript和MXML的互動
1.在MXML的事件中可以用簡單的ActionScript語句
<s:Button label="Click Me" click="textarea1.text='Hello World';" />
2.在MXML中插入ActionScript語句
3.使用{}進行資料綁定
4.對MXML中的tag增加id attribute,這樣可以在ActionScript語句中直接通路該對象。
5.用ActionScript建立可以在MXML中使用的控件。
注:文中給出的例子均來自adobe
本文轉自左正部落格園部落格,原文連結:http://www.cnblogs.com/soundcode/archive/2013/05/05/3061134.html,如需轉載請自行聯系原作者