天天看點

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

Carousels 元件

Carousels,翻譯過來“傳送帶”的意思,顧名思義,仿佛螢幕背後就有一傳送帶,使用者發出向左或向右的指令,即可指令傳送帶“移動”。移動裝置上的螢幕就是目前顯示的内容。在中間的那個“一點點”圖案即為訓示器,訓示器可以告訴你剩餘有多種張待現實的頁面。

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

與其他元件那樣,Carousels 可适用于水準或垂直的方向。下面例子将建立一個簡單的水準方向的 Carousels 元件:

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

試試在這個元件上面滑動一下手指,元件就會響應你産生切換的效果,當然同時也會更新訓示器。下面是一個垂直方向的例子:

以上代碼效果如下:

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

毫無疑問,Carousels 即是一個容器,是以我們可以放任何東西在裡面,好比下面的,我們把一個清單元件和表單元件分别放入 Carousels 裡頭:

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

List 元件的意思就是把 Store 裡的資料渲染成為頁面上的一筆筆條目。List 屬于 DataView 的子類,繼承了 DataView 的大部分能力。List 在 DataView de 基礎上加入屬于其自身的能力有:

将個條目項進行分組,還可以制作索引條(index bar)、固定頭部(pinned header)

為每一個項設定反閉包式(disclosure)的圖示

為每一個項設定圖示和标簽

試試渲染一個 List,用靜态的資料:

執行以上代碼,其中一個步驟就是會替 Store 裡面的每一筆記錄渲染一個 ListItem。下面的工作是為 List 添加事件偵聽器:

若要從 WebService 那裡擷取遠端資料,這種場景也是非常常見的。該怎麼做?

Tab 面闆在使用者切換多個頁面的時候非常有用。Tab 面闆中包含多個 Tab,每個單獨的 Tab 又是一個個 Component 元件。當點選候選欄時便會顯示 Tab。候選欄既可以在螢幕的上方,也可以位于下方。候選欄可以制定其标題 title 及 圖示 icon。

下面就是一個位于底部的 Tab Panel 例子:

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

面闆中的每一個子 Tab 都被定義在 items 的數組之中。Tab 配置的方法也非常簡單,代碼如下(不過這是位于頂部的候選欄):

以上代碼效果如下

Sencha Touch 2.0 元件:Carousels、List、TabPanel 之用法簡介

Tab 面闆預設情況下,Tab 面闆切換的時候是帶有“滑動(slide)”的動畫效果的。如果你想改變預設的動畫效果,可以在 layout 下面的 animation 配置項中作修改。比如現在我們修改為“漸褪(fade)”的效果:

由于 Tab 式面闆是采用“卡式布局的(Card Layout)”,故是以 layout 必須指定為“card”。