close

TabControl加上手勢操作這應該是未來大部份應用程式的基礎框架,以下就簡單示範如何以手勢左、右控制TabControl換頁:

1. 開一個新的Mobile專案

2. 拉一個TabControl元件到Form上面,並將Align屬性設為Client

3. 在TabControl上按右鍵,選擇Add TTabItem,隨便新增個三、四頁

4. 再拉一個GestureManager元件到Form上面,GestureManager是XE6內建的手勢管理的元件

以上步驟做完畫面差不多長這樣:

TabControl與手勢換頁1    

 所需要的工具就兩個元件而已,接下來就是把它們組合起來使用

5. 將TabControl1的Touch.GestureManager屬性,指定給GestureManager1,如此一來只要是在TabControl1上做的任何手勢都會由GestureManager1來控制

6. 將Touch.Gestures.Standard的Left及Right選項勾起來,表示要偵測這兩個手勢,如下圖:

TabControl與手勢換頁2  

拉一拉選一選的工作做的差不多了,該來寫幾行程式碼了

7. 在TabControl1的Events中新增OnGesture的事件,並在事件中加入以下程式碼:

case EventInfo.GestureID of
sgiLeft: //手勢由右往左
TabControl1.Next(); //下一頁
sgiRight: //手勢由左往右
Tabcontrol1.Previous(); //上一頁
end;

TabControl與手勢換頁3  

8. 完成,按下F9執行囉!

 以上範例在換頁時,是有動畫滑動的效果的,可以看到兩個頁面之間切換的動畫,但為了顯示動畫,換頁的速度就會比較慢些,如果重視的是換頁的速度的話,可以在TabControl1.Next和Previous的方法加入參數TTabTransition.None,如下:

case EventInfo.GestureID of
sgiLeft: //手勢由右往左
TabControl1.Next(TTabTransition.None) //下一頁
sgiRight: //手勢由左往右
Tabcontrol1.Previous(TTabTransition.None); //上一頁
end;

如此一來在切換頁面時,就不會有動畫效果,很快就可以切換過去了! 

 

arrow
arrow
    創作者介紹
    創作者 無人知曉的Tony 的頭像
    無人知曉的Tony

    無人知曉的Tony

    無人知曉的Tony 發表在 痞客邦 留言(0) 人氣()