DrawerLayout侧拉菜单控件的使用

1.DrawerLayout是在Android的support库中增加了一个专门用于创建侧滑菜单的组件,该组件首先在layout布局中定义,如下:

 

        
  
   
   
  
   
    

如上面布局所示,android.support.v4.widget.DrawerLayout是侧滑的控件,控件下面有两个LinearLayout布局,其中第一个LinearLayout布局为主界面,可以在里面布置主界面的内容,第二个LinearLayout布局为侧拉界面,这里需要注意的是设置 android:layout_gravity="left"属性,表示从左侧出现侧拉,可以根据需求修改属性值,宽度可以设置300dp吧,侧拉界面不要全部挡住主界面,侧拉界面内容可以根据需求任意发挥了。
2.代码中使用如下
(1)获得控件

   drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);

(2)为控件设置监听

 drawerLayout.addDrawerListener(drawerListener);
        drawerLayout.setScrimColor(Color.TRANSPARENT);//去除侧滑时的阴影

(3)监听实现

 DrawerLayout.DrawerListener drawerListener = new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
            // 得到contentView 实现侧滑界面出现后主界面向右平移避免侧滑界面遮住主界面
            View content = drawerLayout.getChildAt(0);
            int offset = (int) (drawerView.getWidth() * slideOffset);
            content.setTranslationX(offset);
        }

        @Override
        public void onDrawerOpened(View drawerView) {
          //打开侧滑界面触发
        }

        @Override
        public void onDrawerClosed(View drawerView) {
//关闭侧滑界面触发
        }

        @Override
        public void onDrawerStateChanged(int newState) {
           //状态改变时触发
        }
    };

(4)点击按钮弹出侧滑界面实现

 celabtn = (ImageView) findViewById(R.id.cela);//侧拉菜单点击按钮
 celabtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                drawerLayout.openDrawer(Gravity.LEFT);

            }
        });

(5)手动关闭侧滑调用方法

   drawerLayout.openDrawer(Gravity.LEFT);

你可能感兴趣的:(DrawerLayout侧拉菜单控件的使用)