SlideMenu中有
menu.toggle();//动态判断自动关闭或开启SlidingMenu
这一属性
给toolbar的Navigation设置点击监听,当在点击时执行toggle,自动判断:若侧滑是打开状态,则关闭,若是关闭状态,则打开。
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mSlidingMenu.toggle();
}
});
其中要注意的是:
// 设置Window的背景,若不设置,正常手势滑动时没有区别,但是当点击Navigation的时候就会闪一下
getWindow().setBackgroundDrawableResource(R.mipmap.qqbackground2);
以下是具体的
设置slidemenu的代码:
private void initSlidingMenu() {
// 1、创建菜单
mSlidingMenu = new SlidingMenu(this);
// 2、设置菜单模式,可以从左边滑出菜单
mSlidingMenu.setMode(SlidingMenu.LEFT);
// 3、设置滑动区域,只允许菜单从边界滑出
mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
// 4、挂载到Activity上,同时指定Activity滑动模式
// 滑动时Activity的内容区域滑动ActionBar不进行滑动
mSlidingMenu.attachToActivity(this,SlidingMenu.SLIDING_WINDOW);
// 5、对SlidingMenu指定一个菜单
mSlidingMenu.setMenu(R.layout.menu_left);
// 6、菜单滑出来菜单的所占区域大小的设置
// 在菜单添加到Activity中就会有上和下的概念
// Activity在上面;所添加的menu在Activity下面
mSlidingMenu.setBehindOffset(getResources().getDisplayMetrics().widthPixels/4);
// 7、滑动效果
mSlidingMenu.setBehindScrollScale(0.35f);
// 8、设置菜单的缩放
// mSlidingMenu.setBehindCanvasTransformer(new SlidingMenu.CanvasTransformer() {
// @Override
// public void transformCanvas(Canvas canvas, float percentOpen) {//参数二:菜单打开的百分比成都
////
// float scale =1f;
//
//// 菜单的缩放,从75%开始------->100%
// canvas.scale(scale,scale,canvas.getWidth(),canvas.getHeight());
// }
// });
// 9、设置Activity界面的缩放
// 没有相应的方法,修改源码
// mSlidingMenu.setAboveCanvasTransformer(new SlidingMenu.CanvasTransformer() {
// @Override
// public void transformCanvas(Canvas canvas, float percentOpen) {
//
// 随着菜单打开程度扩大,当前Activity越来越小
// float scale = 1f;
//
// canvas.scale(scale,scale,0,canvas.getHeight());
// }
// });
}
有关缩放的代码被我注释掉了。
以上代码都在Activity的onCreate方法中执行。
其中主页面照常布局,侧滑页面也同样,照自己的ui图布局,点击监听、数值的设置,都在onCreate方法中执行就行,没有什么限制。