使用开发工具:IntelliJ社区版
SlidingMenu下载:https://github.com/jfeinstein10/SlidingMenu
整体过程如下:
File->ImportModule导入三个工程
SlidingMenu,所以需要将ActionBarSherlock的工程导入。ActionBarSherlock下载:https://github.com/JakeWharton/ActionBarSherlock
添加引用:example
example库使用的
其他两个项目同样需要添加v4包,一样的操作。
基于上面给出的原因,将library
ActionBarSherlock库中添加了测试,所以如果不需要的话可以将test目录删除。
最后一步:
com.jeremyfeinstein.slidingmenu.exampleBaseActivity类中53行(不同的版本可能不一样)这一句:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
会报错,所以需要修改libray库中的
com.jeremyfeinstein.slidingmenu.lib.app,让它继承于SherlockFragmentActivity。
另:一开始使用第三方库不太熟悉,所以尝试了个笨办法,经试验是可用的。将library
附:两个第三方库下载解压后的目录如下:
SlidingMenu-master文件夹下目录:
ActionBarSherlock-master文件夹下目录:
在自己的项目中简单使用:
添加成员变量
privateFragmentmContent;
在onCreate()方法中加入
if(savedInstanceState!=null)mContent=getSupportFragmentManager().getFragment(savedInstanceState,"mContent");if(mContent==null)mContent=newColorFragment(R.color.red);
和如下代码
setBehindContentView(R.layout.menu_frame);getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame,newColorMenuFragment()).commit();getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);getSlidingMenu().setBehindOffsetRes(R.dimen.slidingmenu_offset);
重写方法
@OverridepublicvoidonSaveInstanceState(BundleoutState){super.onSaveInstanceState(outState);getSupportFragmentManager().putFragment(outState,"mContent",mContent);}
定义如下方法
publicvoidswitchContent(Fragmentfragment){mContent=fragment;getSupportFragmentManager().beginTransaction().replace(R.id.main,fragment).commit();getSlidingMenu().showContent();}
拷贝
拷贝想要使用的fragment类文件和对应的布局文件到自己的工程中。
设置actionbar是否也移动
setSlidingActionBarEnabled(false);
一个人,一条路,人在途中,心随景动,