日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
實例解析Flex應(yīng)用

 本文和大家重點討論一下Flex應(yīng)用,以購物車為例向大家解析,使用數(shù)據(jù)綁定功能在下面顯示當前選擇的品牌的說明,還有一個添加到購物車的按鈕,當按鈕被按下后,該品牌的咖啡便會被添加到購物列表中。

創(chuàng)建應(yīng)用程序

在這個簡單的購物車中,我們顯示一個咖啡品牌的列表(類似于HTML的select)。使用數(shù)據(jù)綁定功能在下面顯示當前選擇的品牌的說明,還有一個添加到購物車的按鈕,當按鈕被按下后,該品牌的咖啡便會被添加到購物列表中。

圖1.教程創(chuàng)建的Flex應(yīng)用程序

這個教程的目的是為了學(xué)習使用:

Application(應(yīng)用程序)類
Panel(面板)容器
Script(腳本)元素
Array(數(shù)組)元素
Object(對象)元素
Label(標簽)元素
Text(文本框)元素
Button(按鈕)控件
ComboBox(下拉列表)控件
List(列表)控件
一個ActionScript函數(shù)

創(chuàng)建Application(應(yīng)用程序)對象

任何一個Flex程序都是以XML聲明開始和Application標記的。Application標簽包含一個MX類庫命名空間的聲明:xmlns:mx="http://www.macromedia.com/2003/mxml"。引用該類庫的所有標簽必須以mx作為前綴。

1.創(chuàng)建一個新文件,然后保存為firstapp.mxml,位于flex_tutorials目錄下
2.在文件的開始處,插入XML聲明:

3.在XML聲明后,添加帶命名空間的Application標簽:

 
 
 
 
  1.  
  2.  

應(yīng)用程序布局:添加一個面板

通常你可以將Flex應(yīng)用程序中可見的組件放置于容器中,容器提供了綁定文本、控件、圖像和其他媒體類型的元素。在這里,你可以使用稱為“面板”(Panel)的容器,它可以提供大部分應(yīng)用程序需要的全部外殼。你還可以使用面板的title(標題)屬性,修改面板上方自動包含著的標題欖的文字。

4.在Application標簽內(nèi)部,添加一個Panel標簽,title屬性為"myFirstFlexApp"

 
 
 
 
  1.  
  2.  

◆添加一個顯示標題的Label元素

Label元素可以用來顯示單行文本。它有一些屬性,這里用到的是text(文本)屬性,定義Label顯示的內(nèi)容。

5.在Panel標簽內(nèi),插入一個帶有文本屬性的Label標簽,如下:

6.保存文件,預(yù)覽一下程序

◆添加一個定義咖啡品牌的數(shù)組對象

本程序的數(shù)據(jù)模型是一個簡單的數(shù)組(內(nèi)容是一系列的對象),你可以直接在程序中用Array和Object元素創(chuàng)建。這里每個數(shù)組單元對象都有兩個屬性:label和data,你可以將這兩個屬性寫成對象的子標簽。用這兩個屬性名稱是為了提供給ComboBox和List這樣的控件元素使用,稍后我們會介紹。

這些控件元素可以使用更加復(fù)雜的數(shù)據(jù)對象,但是既然現(xiàn)在是手工創(chuàng)建數(shù)據(jù)模型,我們就使用簡單的形式。通常的語法是:

 
 
 
 
  1.  
  2.  
  3.  
  4. anotherliteralstring 
  5.  
  6.  

留意這里的ID屬性。ID幾乎是所有Flex元素都具備的屬性,它將元素“貼”上標志以區(qū)分其他元素。如果你要在數(shù)據(jù)綁定或ActionScript中使用這個元素,***給它指定一個ID。

不可見元素可以由你隨意擺放,但是把他們放到程序的首部--即可見元素的前面--是一個好習慣。

 
 
 
 
  1.  
  2.  
  3.  
  4. Smoothandfragrant 
  5.  
  6.  
  7.  
  8. Richandpungent 
  9.  
  10.  
  11.  
  12. Delicateandrefined 
  13.  
  14.  
  15.  

 ◆Flex應(yīng)用之添加一個顯示咖啡品牌的ComboBox

Flex的ComboBox類似于HTML的select功能,而且更加強大。需顯示的數(shù)組由dataProvider屬性指定。你可以在dataProvider標簽中直接創(chuàng)建數(shù)組,但是更為常用的方法是在別處創(chuàng)建或?qū)胍粋€數(shù)組,然后在dataProvider處指定:

 
 
 
 
  1.  

這里的大括號告訴編譯器:里面是一個變量或者代求算的變量,而不是字符串。

如果對象包含label和data屬性,他們會自動按顯示數(shù)據(jù)(label)和關(guān)聯(lián)數(shù)據(jù)(data)區(qū)分,data可以是簡單的值,也可以是復(fù)雜的類型(如對象)。如果對象既沒有l(wèi)abel屬性也沒有data屬性,那么整個對象將作為data屬性,而label屬性則為由ComboBox的labelField屬性指定的對象屬性。例如ComboBox的labelField值為"name",那么label的值就為對象的name屬性。

8.在Label之后添加一個ComboBox,id取為coffeeComb,使用dataProvider屬性將CombBox綁定到上一步創(chuàng)建的coffeeArray數(shù)組:

 
 
 
 
  1.  

◆Flex應(yīng)用之添加一個顯示說明的Text(文本)控件

Text控件與Label相似,不同的是它可以顯示多行數(shù)據(jù)。這里我們用它來顯示ComboBox中選中的咖啡品牌的說明。這里要用到ComboBox中選擇的項目的data屬性。

9.在ComboBox之后,添加一個帶有text屬性的文本控件,將text屬性設(shè)置為“Description:”然后加上一個到ComboBox選擇項目的data屬性的綁定:

 
 
 
 
  1.  

◆添加一個增加咖啡品牌到購物欄的按鈕

Button控件很簡單。它有一個label的屬性來設(shè)置顯示的文字,還有一個click事件,用來指定鼠標點擊事件的處理動作。

在這里,我們添加一個按鈕,通過調(diào)用一個addToCart函數(shù),把ComboBox中選擇的項目添加到購物欄中。我們將在后面創(chuàng)建這個函數(shù)。

10.添加一個顯示“AddtoCart”的按鈕,被點擊后調(diào)用addToCart函數(shù):


給購物車添加一個List(列表)控件

List控件和ComboBox唯一的區(qū)別是它能同時顯示和選擇多條項目。這里用的List不需要指定dataProvider屬性了,因為它在用戶添加數(shù)據(jù)前是空的。

11.在按鈕之后,添加一個List控件,id取為cart:

◆Flex應(yīng)用之添加一段處理按鈕點擊事件的腳本

教程的***一步是添加一段ActionScript腳本,用來處理按鈕的點擊事件。在這個簡單的應(yīng)用程序中,我們在Script標簽中添加腳本。

Script標簽中的ActionScript代碼將被包含在里面,這個標志里面的內(nèi)容不被XML解析器解析。這個是標準的XML用法,在這里是為了保護ActionScript的一些可能會被XML解析器誤處理的一些字符(如<等),實際上這樣不僅保護了這些字符,也省去了XML解析器解析ActionScript內(nèi)容。

這里用到的ActionScript語法很簡單,函數(shù)的通常語法是:

function函數(shù)名(參數(shù)1:數(shù)據(jù)類型...):返回數(shù)據(jù)類型
{
[ActionScript語句]
}
在addToCart函數(shù)中,使用List類的addItem方法添加項目。該方法需要有l(wèi)abel參數(shù)和data參數(shù),這些參數(shù)正好是ComboBox中選中的項目的label屬性和data屬性。

12.在Array標簽之后,插入一個帶有CDATA包裝的Script標簽:

 
 
 
 
  1.  
  2.  
  3.  

13.在CDATA里面,添加一個名為addToCart不返回任何值的函數(shù):

 
 
 
 
  1. functionaddToCart():Void  
  2. {  
  3. }  
  4.  

 14.在函數(shù)體內(nèi)部,使用List類的addItem方法將ComboBox中所選項目label屬性和data屬性添加到List上。

cart.addItem(coffeeCombo.selectedItem.label,coffeeCombo.selectedItem.data);
15.保存文件,在瀏覽器中預(yù)覽應(yīng)用程序(查看瀏覽MXML文件的方法見***頁)

firstapp.mxml完整的代碼:

 
 
 
 
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Smoothandfragrant 
  8.  
  9.  
  10.  
  11. Richandpungent 
  12.  
  13.  
  14.  
  15. Delicateandrefined 
  16.  
  17.  
  18.  
  19. functionaddToCart():Void  
  20. {  
  21. cart.addItem(coffeeCombo.selectedItem.label,coffeeCombo.selectedItem.data);  
  22. }  
  23. ]]> 
  24.  
  25.  
  26.  
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33.  
  34.  

進一步學(xué)習

在這個簡單的例子中,我們學(xué)習了Flex的一些核心元素:容器、控件、數(shù)據(jù)模型、數(shù)據(jù)綁定和事件處理。

【編輯推薦】

  1. 解析***個Flex應(yīng)用——HelloFlex!
  2. 構(gòu)建Flex應(yīng)用時常見幾大誤區(qū)解析
  3. 解析Flex應(yīng)用開發(fā)步驟和技術(shù)框架
  4. 解析Flex全屏模式設(shè)置方法
  5. Flex內(nèi)存泄露解決方法和內(nèi)存釋放優(yōu)化原則

網(wǎng)站題目:實例解析Flex應(yīng)用
文章網(wǎng)址:http://www.5511xx.com/article/djcoeci.html