设置slidemenu中toolbar左侧NavigationIcon的点击事件

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方法中执行就行,没有什么限制。

你可能感兴趣的:(Android-4)