原文:http://blog.csdn.net/tj_shenzhendaxue/article/details/8617329
相信能看这篇教程的码农门都已经知道了SlidingMenu能够实现的界面效果了,就是类似于人人网或者Facebook的那种双层滑动页面,网上也有很多这方面的呢例子,但是吗,没有一个能够完整地教会大家怎么将SlidingMenu-master中的example成功运行起来的教程,这里将会教大家一步步成功实现想要的那种效果:
1.登陆https://github.com/jfeinstein10/SlidingMenu:
点击高亮zip下载slidingmenu-master.zip到D:\SlidingMenuDemo,然后解压缩到当前文件夹,会看到:
然后在eclipse中file->new->other->android类下的androd project from existing code,将上面解压的包里面有个library文件夹,选择那个文件夹导入。
此工程命名为:slidingmenu_lib
2.abs的官方网址,英文的,http://actionbarsherlock.com/。也下载对应的压缩包到D:\SlidingMenuDemo目录下,然后解压缩获得如下图所示文件
.eclipse中file->new->other->android类下的androd project from existing code,之前下载下来解压的包里面有个library文件夹,选择那个文件夹导入。
导入之后,我的工作目录下多了个library的项目,如果大家看这名字不爽可以改了,我这边命名为slidingMenu_abs_lib。右击,查看属性,这里有一些要注意的地方。
有些人可能导入后会有红叉,貌似是因为缺少android-support-v4.jar这个兼容包。
这时官方推荐的做法是右击项目android tools->add suppoert library来修复。
这下应该没红叉了,abs算是成功导入了。接下来就是如何在我们的项目中使用它了。
右击工程——>properties,点击Android,勾选Is Library;
3.右击步骤1中导入新建的工程slidingmenu_lib,点击Add,将步骤2的工程添加为slidingmenu_lib的一个library,并且勾选Is Library.
4.eclipse中file->new->other->android类下的androd project from existing code,之前下载下来解压的包里面有个example文件夹,选择那个文件夹导入。
重新命名为SlidingMenuDemo
如上图所示:将前一步创建的slidingmenu_lib作为SlidingMenuDemo工程的的一个library.
补充说明:
1.可能报找不到getSupportActionBar等ActionBarSherLock的方法。原因是使用ActionBarSherLock的Activity需继承于SherlockActivity,修改SlidingMenu liberary中的
SlidingFragmentActivity,让它继承于SherlockFragmentActivity,重新编译liberary导入。
2.项目红叉或红叹号,删除support_v4包,ActionBarSherLock已包含此包,会冲突。也有可能是主题问题,注意appication theme是否正确,参照exsample。
3.注意把ActionBar、某些Fragment等替换成ActionBarSherLock包中的类。
SlidingMenu依赖ActionBarSherlock。可以去官网下载最新的ActionBarSherlock。在导入的时候SlidingMenu-master/library中的
SlidingActivity.java、SlidingFragmentActivity.java SlidingPreferenceActivity.java三个文件作如下修改就好了。
SlidingActivity extends Activity
SlidingFragmentActivity extends FragmentActivity
SlidingPreferenceActivity extends PreferenceActivity
分别替换成
SlidingActivity extends SherlockActivity
SlidingFragmentActivity extends SherlockFragmentActivity
SlidingPreferenceActivity extends SherlockPreferenceActivity
最后实现结果: