星期三, 1月 09, 2013

SlidingMenu開放原始碼專案

 

自從Android 3.0帶來了Fragment概念,
除了對開發者需要面對多種size的Android裝置具有正面的意義外,
讓Android Activity本來較為死板的換頁方式,帶來了更多變化,
藉由在一個Activity上自由搭配多個Fragment,
並結合越來越豐富的動畫效果,來切換不同的Fragment
愈來愈多絢麗的頁面切換效果也逐漸出現在Android app上。

其中最常見到,具有豐富視覺效果的切換特效非SlidingMenu莫屬,
SlidingMenu效果可以在Evernote或是feedly兩個我個人常用的軟體中見到。
使用SlidingMenu藉由兩個Fragment間(也可以是兩個ViewGroup)的滑行效果
來切換介面。

SlidingMenu Open Source Project

要實現這樣的效果需要自己設定許多Animation 的參數,
藉由盧育聖(ysl程式設計天堂部落格作者)的粉絲頁分享,
才知道這樣的效果已經有別人寫好,並開放原始碼與其他開發人員共享,
在GooglePlay上有一個使用範例可以在下方連結中下載
SlidingMenu Demos

如果你也想在App中呈現這樣的效果,
不需要自己造輪子,
可以在GitHub上找到完整開放原始碼專案。
SlidingMenu 開放原始碼專案

整合到你的專案

要將SlidingMenu整合到你的專案當中,
需要下列幾個步驟:


將開放原始碼專案下載下來,並匯入Eclipse當中。(在這之前你應該要裝好了Andorid 開發環境)其中會兩個Project,SlidingMenuActivity是主要我們要使用的部份,另一個ExampleListActivity是上述Google Play中可以下載的到的SlidingMenu Demo專案。不妨把兩個專案都載入,這個Example專案可以讓你了解該怎麼使用這個原始碼專案。



因為專案中有提供MapActivity所以Android SDK需選擇有Google APIs的版本,載入專案之後先進行Project > Clean的動作,以產生必要的R.java檔。
如果您的專案只支援3.0以上的版本,引用SlidingMenuActivity專案之後(在Package Explorer中,選擇ProjectName按下右鍵 > Properties > Android > Library > Add ),在您的專案裡就可以使用當中所提供的SlidingMenuActivity了。

Example 專案

如果你想要測試Example專案,這時應該還存在著錯誤,因為這個Example專案在Fragment和Action Bar的部份是使用Support Library來支援的,因此我前面才說,如果你專案只支援Android 3.0以上,那就不需要接下來的動作。
但如果你的專案必須支援Android2.X甚至到Android1.6以上,那我們還需要進行一些設定。

匯入ActionBarSherlock Open Source專案

下載並在Eclipse當中匯入ActionBarSherlock專案,這個專案主要讓所有的Android版本都能夠使用只有在Android 3.0以上才支援的Action Bar的功能。其中有數個sample專案,但我們只需要匯入library這個專案(除非你想深入了解ActionBarSherlock要怎麼用)。

在SlidingMenuActivity當中引用ActionBarSherlock專案。 


因為Example專案當中使用了SlidingFragmentActivity,因此需要將SlidingFragmentActivity做些修改,以支援Android3.0以下的版本。

修改SlidingMenuActivity中的SlidingFragmentActivity.java
將原本extends FragmentActivity改成SherlockFragmentActivity
完成後做一次Project > Clean,之後Example專案就可以順利執行了。

透過這個Example專案,可以很輕易的了解如何使用SlidingMenu 專案,並製作出很具視覺效果的滑動切換頁面動畫了。







張貼留言