开源组件SlidingMenu,侧拉菜单的使用

项目地址:https://github.com/jfeinstein10/SlidingMenu

现在google推荐多使用Fragment,所以这个侧拉菜单我也是用到Fragment中,

1.新建SlidingMenuActivity继承SlidingFragmentActivity,

private void initMenu() {
setBehindContentView(R.layout.front_door_menu);//显示左侧菜单的布局里面是个FrameLayout
slidingMenu = getSlidingMenu();//SlidingFragmentActivity之后可以直接get
slidingMenu.setMode(SlidingMenu.LEFT);// 设置菜单滑动模式,菜单是出现在左侧还是右侧,还是左右两侧都有
slidingMenu.setBehindWidth((int) (App.SCREEN_WIDTH * 0.7));// 设置菜单的宽
// slidingMenu.setBehindOffsetRes((int) (App.SCREEN_WIDTH *
// 0.3));//
// SlidingMenu划出时主页面显示的剩余宽度
slidingMenu.setFadeDegree(0.35F);// SlidingMenu滑动时的渐变程度
slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);// 设置滑动的区域,是全屏还是中间

//下面是Fragment添加的步骤
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
MenuFragment menuFragment = new MenuFragment();
transaction.replace(R.id.door_menu, menuFragment);
FrontDoorFragment contentDoorFragment = new FrontDoorFragment();
mContent = contentDoorFragment;
transaction.replace(R.id.door_content, contentDoorFragment);
transaction.commitAllowingStateLoss();
}

ps:如果你的含有侧拉菜单主界面有个Viewpager,这样手势冲突了怎么办?,放心 在SlidingMenu中有addIgnoredView(viewPager);这个方法,这是告诉SlidingMenu要忽视掉这个view,OK冲突问题解决了,

ps:2,如果我们有几个fragment切换建议使用show,hide方法来切换

//mContent 为当前fragment

public void switchContent(Fragment from, Fragment to) {
if (mContent != to) {
mContent = to;
FragmentTransaction transaction = getSupportFragmentManager()
.beginTransaction();
if (!to.isAdded()) { // 先判断是否被add过
transaction.hide(from).add(R.id.door_content, to)
.commitAllowingStateLoss(); // 隐藏当前的fragment,add下一个到Activity中
} else {
transaction.hide(from).show(to).commitAllowingStateLoss(); // 隐藏当前的fragment,显示下一个
}
}
}

自己都看不下去了。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值