標籤:android style blog class code java
最近在做一個東西,然後要求能相容2.3以上手機(這個要求實在是蛋疼,現在充話費送的手機系統都是4.0.3的了)加上需要的抽屜的效果和Google內建的Drawer的樣式不太一樣,無奈之下,只能自己用開源庫重新寫 ,上網搜一下,大家都推薦使用Actionbarsherlock+slidingmenu的組合,自己嘗試了一下下
首先先去下載這兩個開源項目,附上
Actionbarsherlock:http://actionbarsherlock.com/download.html
Slidingmenu:https://github.com/jfeinstein10/slidingmenu
下載下來之後解壓縮開啟
我用紅線標出來的兩個檔案夾就是此次要用到的
在eclipse裡面建立一個名為ActionbarSherlockLibrary的工程,在第二部的時候勾選mark this project as a library 這個選項,然後一路next,工程建好之後
把actionbarsherlock裡面的東西複製到 ActionbarSherlockLibrary 工程下面,全部覆蓋,會有重複檔案,注意選擇全部替換,在eclipse裡面右鍵->refresh
同樣,建一個名為SlidingMenuLibrary的工程,做同樣的操作,然後重新整理。
這一步很重要,把你的目的工程(你要使用slidingmenu的sherlockavtionbar的工程),ActionbarSherlockLibrary,SlidingMenuLibrary三個工程使用的
android-support-v4.jar必須是同一個,不然會報錯,就簡單的複製粘貼替換就可以了
在你的 SlidingMenuLibrary 工程,右鍵->properties->android 的library視圖下面選擇add添加ActionbarSherlockLibrary,
然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingFragmentActivity裡面的
1 public class SlidingFragmentActivity extends FragmentActivity implements SlidingActivityBase
替換成
1 public class SlidingFragmentActivity extends SherlockFragmentActivity implements SlidingActivityBase
然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingListActivity裡面的
1 public class SlidingListActivity extends ListActivity implements SlidingActivityBase
替換成
1 public class SlidingListActivity extends SherlockListActivity implements SlidingActivityBase
然後把com.jeremyfeinstein.slidingmenu.lib.app 裡面的SlidingPreferenceActivity裡面的
1 public class SlidingPreferenceActivity extends PreferenceActivity implements SlidingActivityBase
替換成
1 public class SlidingPreferenceActivity extends SherlockPreferenceActivity implements SlidingActivityBase
然後,在你的目的工程右鍵->properties裡面和前面一樣的方法,匯入兩個工程,就可以,正常使用兩個開源庫了
在使用的時候,你要使用Actionbarsherlock 的Activity裡面整合的類改為SherlockActivity
並且在執行個體化actionbar的時候使用方法
mAction = getSupportActionbar();
其他的方法是基本上一樣的,就是注意你的Activity中的Menu以及MenuItem的方法要使用
import com.actionbarsherlock.view.Menu;import com.actionbarsherlock.view.MenuItem;
兩個包裡面的方法
1 menu = new SlidingMenu(this);
2 //執行個體化Slidingmenu
3 menu.setMode(SlidingMenu.LEFT);
4 //設定Slidingmenu的滑出方向,有LEFT,RIGHT,LEFT_RIGHT menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
5//設定Slidingmenu的有效滑出觸摸位置 6menu.setBehindWidth(getResources().getDimensionPixelSize(
7 R.dimen.menu_width));
8 //設定Slidingmenu的滑出的寬度
9 menu.attachToActivity(Act_CommdotityList.this,
10 SlidingMenu.SLIDING_WINDOW);
11 //吧Slidingmenu添加到Activity
12 //設定slidingmenu的滑出範圍
13 //SLIDING_WINDOW滑出地區為整個螢幕
14 //SLIDING_CONTENT為只滑出Actionbar下面的地區
15 menu.setMenu(R.layout.sliding_menu);
16 //添加Slidingmenu的布局檔案
這篇文章先到這裡,剩下的我還需要進一步研究,不過sherlockActionbar的使用方法和actionbar的方法基本相同,所以相信大家都會用