国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Sencha Touch 2.0官方指南:如何使用組件

移動開發
我們在Sencha Touch 2.0中接觸的很多類都是組件。每個組件都是Ext.Component,的子類。這就意味著他們可以:使用一個模板把自己渲染到頁面上、在任何時候顯示/隱藏自己、把自己顯示在屏幕中間、確定自己是否可用。

什么是組件

我們在Sencha Touch 2.0中接觸的很多類都是組件。每個組件都是Ext.Component,的子類。這就意味著他們可以:

◆使用一個模板把自己渲染到頁面上

◆在任何時候顯示/隱藏自己

◆把自己顯示在屏幕中間

◆確定自己是否可用

他們還可以做一些更高級的事:

◆把自己置于其他組件之上(windows, message boxes and overlays)

◆動態的改變自己的大小和位置

◆把其他組件置于自己的內部

◆和其他組件排列在一起,可以拖動他們,滾動他們的內容等等

什么是容器

應用程序是由很多組件組成的,他們被一個個的組件包含著。容器也像組件,但除了組件的功能以外他還可以渲染和插入新的組件。大部分App 都有唯一的一個最上層容器叫做”Viewport”,他占滿了整個屏幕,子組件被包含在他們里面。例如一個mailApp他的 Viewport 內容里面包含郵件列表和郵件預覽面板。

容器有下面幾個功能:

◆在初始化和運行的時候添加新的組件

◆移除組件

◆指定組件布局

布局確定了組件在屏幕上的顯示方式。就如我們剛才提到的emailapp,我們使用了HBox布局,這個布局使得emaillist 在屏幕的左邊出現,emailpreview 在屏幕的剩下部分出現。ST 2 提供了幾張布局方式,可以方便開發者完成組件布局。

初始化組件

組件的初始化和ST 中其他類的初始化一樣。使用Ext.creat 方法。下面的例子展示了如何添加一個Panel組件。

  1. var panelExt.create('Ext.Panel', { 
  2.  
  3. html: 'This is my panel' 
  4.  
  5. }); 

在這個例子中我們添加了一個Panel,并對他進行了基本的HTML內容設置。Panle 是一個簡單的組件,他能渲染HTML,包含其他組件。我們增加了一個Panel,但他不會馬上在屏幕上顯示,因為組件不會在初始化時馬上顯示出來。這樣使得我們可以在增加和布置好所需的組件后一起把他們渲染和顯示出來。這種方法比渲染之后在移動組件的位置更快。

顯示這個Panel我們可以使用全局Viewport

  1. Ext.Viewport.add(panel); 

Panel同樣也是容器,可以為他添加子組件。下面的例子展示了一個Panel中使用hbox布局兩個子組件

  1. var panelExt.create('Ext.Panel', { 
  2.  
  3. layout: 'hbox', 
  4.  
  5. items: [ 
  6.  
  7.  
  8. xtype: 'panel', 
  9.  
  10. flex: 1, 
  11.  
  12. html: 'Left Panel, 1/3rd of totalsize', 
  13.  
  14. style: 'background-color: #5E99CC;' 
  15.  
  16. }, 
  17.  
  18.  
  19. xtype: 'panel', 
  20.  
  21. flex: 2, 
  22.  
  23. html: 'Right Panel, 2/3rds of totalsize', 
  24.  
  25. style: 'background-color: #759E60;' 
  26.  
  27.  
  28.  
  29. }); 
  30.  
  31. Ext.Viewport.add(panel); 

在上面的代碼中,我們增加了3個Panel,***個在其他兩個之前生產。在里面的兩個組件使用了xtype進行布局。Xtype是一種很方便的布局方式,可以在不用Ext.creat方法的情況下就可以產生組件。

我們指定了頂層Panel的布局方式-hbox,他根據‘flex’對父Panel進行垂直分割。例如,父Panel的寬度是300px,***個Panel是100px 寬,另一個是200px。

配置組件

你可以通過configuration 選項對任意一個組件進行配置。所有的configuration 都在組件類的“Config Options”中。你可以在組件初始化時傳入任意個配置選項,也可以在組件初始化之后對他的配置進行修改

  1. //we can configure the HTMlwhen we instantiate the Component 
  2.  
  3. var panelExt.create('Ext.Panel', { 
  4.  
  5. fullscreen: true, 
  6.  
  7. html: 'This is a Panel' 
  8.  
  9. }); 
  10.  
  11. //we can update the HTMllater using the setHtmlmethod: 
  12.  
  13. panel.setHtml('Some new HTML'); 
  14.  
  15. //we can retrieve the current HTMlusing the getHtmlmethod: 
  16.  
  17. alert(panel.getHtml()); //alerts "Some new HTML" 

任何一個配置都有getter和Setter方法。他們是自動生成的。例如一個配置選項叫做“html”那么他將會有一個getHtml和setHtml方法一個默認的配置擁有一個getDefault 和serDefault方法。

在容器中添加組件

正如我們所說的,容器是特殊的組件,他可以添加新的子組件。上面的例子向我們展示了如何添加2個子Panel到一個父Panel中。但是在運行的時候我們也可以方便的做到。

  1. //this is the Panelwe'llbe adding below 
  2.  
  3. var aboutPanelExt.create('Ext.Panel', { 
  4.  
  5. html: 'About this app' 
  6.  
  7. }); 
  8.  
  9. //this is the Panelwe'llbe adding to 
  10.  
  11. var mainPanelExt.create('Ext.Panel', { 
  12.  
  13. fullscreen: true, 
  14.  
  15. layout: 'hbox', 
  16.  
  17. defaults: { 
  18.  
  19. flex: 1 
  20.  
  21. }, 
  22.  
  23. items: { 
  24.  
  25. html: 'First Panel', 
  26.  
  27. style: 'background-color: #5E99CC;' 
  28.  
  29.  
  30. }); 
  31.  
  32. //now we add the first panelinside the second 
  33.  
  34. mainPanel.add(aboutPanel); 

在這個例子中,我們增加了3個Panel。***個是aboutPanel,他用做告訴用戶這是一個什么App。然后我們增加了一個叫mainPanel的Panel,在這個Panel中已經通過item配置包含了第三個Panel。***我們把***個Panel添加到mainPanel中。

在這個例子中我們指定通過hbox方式對mainPanel進行布局,當然還有很多其他布局方式。我們使用Flex:1對其中的子組件進行布局。通過這種方式使得當mainPanel中只有一個組件的時候這個子組件將占滿整個屏幕。當有2個子組件的時候每個子組件各種一半屏幕。

同樣,我們也可以方便的從容器中移除組件

  1. mainPanel.remove(aboutPanel); 

顯示和隱藏組件

每一個組件都可以使用簡單的方法進行顯示和隱藏操作。我們還是以mainPanel為例,隱藏mainPanel

  1. mainPanel.hide(); 

顯示mainPanel

  1. mainPanel.show(); 

事件

所有的組件都有觸發事件,他們可以監聽事件并采取行動。例如:當Textfeld有輸入的時候,他的’change’事件被觸發,你可以通過’listeners’配置對他進行監聽。

  1. Ext.create('Ext.form.Text', { 
  2.  
  3. label: 'Name', 
  4.  
  5. listeners: { 
  6.  
  7. change: function(field, newValue, oldValue) { 
  8.  
  9. myStore.filter('name', newValue); 
  10.  
  11.  
  12.  
  13. }); 

當TextField的值改變的時候,’change’事件被觸發,他所對應的函數被執行。

很多事件都是被ST組件觸發的,允許我們hook大部分的應用行為。你還可以在組件增加之后重新指定。

例如:有一個dashboard他用來接收實時更新,我們規定在dashboard顯示的時候他才更新,不然不更新。

  1. dashboard.on({ 
  2.  
  3. hide: MyApp.stopPolling, 
  4.  
  5. show: MyApp.startPolling 
  6.  
  7. }); 

每一個組件的事件都在他的類定義文件中有描述。

Docking

ST允許組件停留在其他容器上面。例如:我們已經有兩個子組件了,他們通過hbox布局,這時要把一個頭部放在兩個子組件的上面。Docking可以讓我們方便的完成。

清除組件

因為大部分移動設備的內存都有限,所以很有必要在確認一個組件不會再被使用后清除掉。清除組件不是最重要的事,但這個確實很有意義,他可以提高用戶的體驗。清除組件非常的容易:

  1. mainPanel.destroy(); 

 

責任編輯:佚名 來源: 移動Web開發社區
相關推薦

2011-10-26 10:43:19

Sencha Touc

2011-10-26 10:32:05

Sencha Touc數據視圖

2012-01-10 13:21:33

Sencha Touc使用data包

2011-10-18 09:49:40

新特征Sencha Touc

2011-09-02 15:18:49

Sencha Touc

2011-07-25 16:21:22

Sencha touc

2011-10-26 10:12:53

Sencha Touc布局

2011-11-28 13:42:55

Sencha Touc組件選擇器

2011-09-02 15:42:55

Sencha Touc布局

2011-09-02 15:58:38

Sencha Touc布局

2011-09-30 14:15:10

Sencha ToucSencha Touc

2011-10-18 08:59:46

Sencha ToucHTML5

2012-05-01 20:57:26

Sencha Touc

2011-11-16 13:14:02

Sencha TouciOS本地應用

2011-09-02 16:08:09

Sencha ToucAPI文檔

2011-07-26 09:41:50

Sencha Touc特性HTML 5

2010-11-22 10:31:17

Sencha touc

2011-09-05 11:23:26

EclipseSencha Touc框架

2011-07-25 15:55:21

Sencha ToucHtml 5

2011-09-02 16:42:51

Sencha ToucWeb應用
點贊
收藏

51CTO技術棧公眾號

亚洲性视频大全| 91九色综合| 国产成人午夜性a一级毛片| 深夜福利一区二区三区| 视频一区免费在线观看| 夜夜嗨av一区二区三区网页 | 欧美一区二区三区四区夜夜大片 | 六月婷婷色综合| 久久久久久久久国产精品| 影音先锋电影在线观看| av在线这里只有精品| 久久精品99久久| 波多野结衣的一区二区三区| 日韩在线观看免费全| 欧美巨大xxxx做受沙滩| 色综合天天做天天爱| jizzjizz中文| 久久久国际精品| av日韩在线看| 麻豆精品视频在线观看| 国产日韩精品一区观看| 色无极亚洲影院| 欧美在线观看网址综合| 日本免费一区二区视频| 中文字幕久久亚洲| 老司机深夜福利在线观看| 欧美浪妇xxxx高跟鞋交| 头脑特工队2在线播放| 亚洲女女做受ⅹxx高潮| 国产婷婷一区二区| 精品粉嫩超白一线天av| 毛片在线免费| 一级精品视频在线观看宜春院| 虎白女粉嫩尤物福利视频| 国产麻豆一精品一av一免费 | 国产精品视频在线观看| 国产经典一区| 精品污污网站免费看| 91国产美女视频| 成人亚洲网站| 日韩精品免费在线观看| 性xxxfreexxxx性欧美| 91国产丝袜在线播放| 国产无遮挡在线视频免费观看| 国产精品国产精品国产专区不蜜| www.日本xxxx| 丁香网亚洲国际| a级网站在线观看| 国产精品一区二区在线观看不卡| 亚洲精品一区二区三区四区五区| 狠色狠色综合久久| 极品日韩久久| 亚洲综合欧美| 亚洲一区二区三区在线观看视频| 久久精品1区| 一区二区三区在线视频111| 蜜桃一区二区三区在线| 亚洲精品9999| 99视频精品在线| 羞羞小视频视频| 午夜精品久久久久久久蜜桃app| 一区二区三区高清在线视频 | 国产成人啪免费观看软件| 免费成人午夜视频| 日韩成人在线观看| 浪潮av在线| 五月综合激情婷婷六月色窝| 午夜精品久久久久久久99热 | 久久欧美一区二区| www.浪潮av.com| 91美女在线视频| jizzjizz中文| 在线观看欧美黄色| 色黄网站在线观看| 国产一区二区三区在线观看视频| 精品入口麻豆88视频| 欧美在线视频免费| 亚洲性感美女99在线| 亚洲欧美日韩另类精品一区二区三区 | 天堂中文字幕| 在线观看三级视频欧美| 亚洲精品成人天堂一二三| bt电影在线| 亚洲国产欧美久久| 3d黄动漫网站| av日韩亚洲| 久久久水蜜桃| 亚洲超丰满肉感bbw| 亚洲手机在线| 亚洲国产一区二区久久| 69精品人人人人| 99精品在线| 国产淫片在线观看| 国产精品久久国产| 91爱视频在线| 欧美日韩亚洲91| 国产欧美在线| 亚洲天堂av资源在线观看| 嫩草研究院在线| 国产va亚洲va在线va| 欧美大尺度激情区在线播放| 亚洲一区视频| 成人性爱视频在线观看| 欧美极品少妇xxxxⅹ免费视频| 一区二区黄色| 色播在线观看| 97在线免费视频观看| 中文字幕在线视频日韩| 国产精品视频一区二区三区| 日本不卡免费新一二三区| 中文字幕av在线一区二区三区| 日韩大片在线观看| 国内精品伊人| 黄色漫画在线免费看| 两个人看的免费完整在线观看| 一区二区在线观看网站| 国产亚洲精品美女| 欧美性受xxxx黑人xyx性爽| 一二区成人影院电影网| 污污动漫在线观看| 亚洲精品日韩在线| 国产精品久久久久久福利一牛影视| 北条麻妃在线一区二区免费播放 | 国产裸体舞一区二区三区| 亚洲日韩欧美一区二区在线| 精品视频99| 欧美丰满熟妇xxxxx| 欧美日韩一二三| 最新亚洲激情| 国产91视频一区| 亚洲人精品午夜| 国产成人精品一区二区三区视频 | 91精品国产手机| 日韩二区三区四区| 未满十八勿进黄网站一区不卡| 日韩亚洲欧美精品| 亚洲激情网站免费观看| av亚洲一区| 激情五月婷婷久久| 亚洲淫片在线视频| 亚洲激情在线播放| 超碰在线亚洲| 久久精品国产精品亚洲色婷婷| 久久品道一品道久久精品| 大片免费播放在线视频| 日韩午夜精品电影| 激情综合网站| 奇米影音第四色| 国产精品白嫩美女在线观看 | 999精品网| av免费中文字幕| 亚洲va久久久噜噜噜久久天堂| 69**夜色精品国产69乱| 国产成人av电影免费在线观看| av天在线观看| 成人a在线观看| 一区二区视频免费在线观看| 在线播放一区二区精品视频| 日韩在线综合网| 精品国产欧美一区二区五十路 | 成人国产视频在线| 97人人做人人爱| 亚洲少妇30p| 女仆av观看一区| www成人免费视频| 亚州国产精品久久久| 中文字幕在线一区| 免费一区二区三区视频导航| 成片免费观看视频| 国产精品丝袜久久久久久高清 | 一个色综合导航| 国产成人av自拍| 亚洲成a人片777777久久| 久久黄色片视频| 亚洲3p在线观看| 图片区小说区国产精品视频| 亚洲激情五月| 动漫一区在线| 伊人久久大香线蕉午夜av| 亚洲人成网站免费播放| 成人黄色av电影| 一区二区三区自拍视频| 国产天堂在线观看| 不卡一卡2卡3卡4卡精品在| 在线播放欧美女士性生活| 激情综合网天天干| 亚洲日本va午夜在线电影| 日韩写真在线| 欧美日韩免费精品| 色yeye香蕉凹凸一区二区av| 国产精品嫩草99a| 永久亚洲成a人片777777| 在线看三级电影| 狠狠爱免费视频| 成人av在线天堂| 亚洲欧美激情视频| 亚洲理论在线观看| 天堂成人国产精品一区| 日本一区二区三区播放| 在线成年人视频|