第三方库SlidingMenu的使用

使用开发工具: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);

一个人,一条路,人在途中,心随景动,

第三方库SlidingMenu的使用

相关文章:

你感兴趣的文章:

标签云: