1. 程式人生 > >使用WPF技術模擬手機介面

使用WPF技術模擬手機介面

1. 前言
WPF(Windows Presentation Foundation),即“Windows呈現基礎”,它的目的非常明確,就是用來把資料“顯示”給使用者看的(說白了就是用來做UI的)。接下來將會介紹一個小專案,用WPF來實現模擬手機介面設計。

2. 實現的功能
本專案模擬手機介面,實現瞭如下幾個功能:

  • 滑動解鎖
  • 頂部狀態列顯示
  • 檢視系統時間
  • 附有背景以及應用圖示的介面及切換
  • 點選日曆圖示跳轉到顯示日曆的介面
  • 點選鎖屏圖示進入滑動解鎖狀態

3. 效果展示

  • 滑動解鎖、頂部狀態列顯示 、檢視系統時間


    這裡寫圖片描述
    實現情況:
    1.實現了仿蘋果手機的滑動解鎖效果,同時滑動解鎖模組上面的文字具有動畫效果。當滑動解鎖箭頭滑動長度不足進度條的一半則箭頭回到起點,超過一半解鎖成功。
    2.在螢幕頂部顯示狀態列,在鎖屏介面實現顯示系統時間的功能,能夠實時顯示系統時間。

  • 附有背景以及應用圖示的介面及切換
    這裡寫圖片描述這裡寫圖片描述這裡寫圖片描述
    實現情況:
    1.每個頁面必須設定一個背景圖片,每個圖示必須有自己的影象。
    2.點選頁面下方的左右箭頭可以實現兩個介面之間的順序切換,點選中間的home鍵則返回主介面。當介面切換時,具有仿蘋果手機的翻頁效果(淡入淡出的動畫效果),同時可以通過底下的圓點的顏色來判斷當前所在介面。

  • 模擬Icon的事件響應


    這裡寫圖片描述這裡寫圖片描述
    實現情況:
    1.部分應用圖示點選事件,能夠跳轉到指定介面。點選日曆則能夠顯示日曆。點選鎖屏的應用圖示能夠進入滑動解鎖的狀態。

4. 部分功能程式碼分析

  • App.xaml
    這裡寫圖片描述
    程式啟動的地方,其實是在程式的App.xaml檔案裡面:StartupUri=”Window1.xaml“這個就是程式的入口點,執行程式之後,我們就將window1顯示在了顯示屏上。

  • Window1.xaml
    這裡寫圖片描述
    Page是我們真正的Ui,而NavigationWindow不過是為我們提供了一個框架,Page是附在上面的。因為VS2010不能直接建立NavigationWindow和Page相關的專案,所以我們要自己修改。首先建立一個WPF應用程式,在後臺將繼承的Window類改為NavigationWindow類。然後在XAML中同樣將< window………標記改為NavigationWindow。NavigationWindow上不能有任何控制元件。。。包括Grid等。。。。記住現在我們的UI是Page。新建Page,在上面隨便畫畫。然後將NavigationWindow.Source設為預設頁面(Default Page)。即將主窗體的XAML裡NavigationWindow的Source屬性設為Page的名字,就OK了。另外Page之間的切換也是很簡單方便的。NavigationService.Navigate(newUri(“XXXXX.xaml”,UriKind.Relative)); XXXXX為Page的名字。

  • Window1.xaml.cs
    這裡寫圖片描述這裡寫圖片描述
    為Page增加淡入淡出(Fade)效果:
    Window1繼承自NavigationWindow,那麼顯然抓住Navigating事件不放,做如下操作:
      取消當前Navigate請求,如果有當前頁的前提下。
      淡出當前頁,如果有當前頁的前提下。
      完成淡出過程後Navigate到目標頁。
      淡入目標頁。

  • Slide.xaml
    這裡寫圖片描述
    用於顯示背景圖片。

  • Slide.xaml.cs
    這裡寫圖片描述
    這裡寫圖片描述
    完成滑動解鎖功能。

這裡寫圖片描述
完成顯示系統時間的功能。

  • Slide.xaml
    這裡寫圖片描述
  • RepeatBehavior:獲取或設定此時間線的重複行為。Forever迴圈動畫
  • DoubleAnimation:它在指定的持續時間內將動畫從指定的起始值繼續到指定的目標值。
  • From,To:動畫開始到結束變化的值

  • Slide.xaml.cs
    這裡寫圖片描述
    實現了滑動解鎖成功切換到主介面的功能。

  • index.xaml
    這裡寫圖片描述
    這裡寫圖片描述
    實現頁面切換以及頁面底部顯示頁面切換狀態的圓點。

5. 下載連結
http://download.csdn.net/download/qq_22408539/10185109