在自己的android工程中使用actionbarsherlock以及slidingmenu

最近在做一个东西,然后要求能兼容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的方法基本相同,所以相信大家都会用

原文地址:https://www.cnblogs.com/cwr941012/p/3712230.html