DrawerLayout使用详解

DrawerLayout 抽屉布局

文章目录

    • 效果:
    • 布局
    • 关联Toolbar
    • 手动打开关闭
    • 监听
      • github:[https://github.com/yechaoa/MaterialDesign](https://github.com/yechaoa/MaterialDesign)

效果:

DrawerLayout使用详解_第1张图片

布局



        
        

            

            
  • 外层是DrawerLayout,第一个子view是内容区,侧滑内容紧跟其后。
  • 侧滑内容可以有好几个
  • android:layout_gravity="end" 标识从左边还是右边滑出

以上就可以简单的实现抽屉布局了。


关联Toolbar

比如上图中的toolbar左边有三道杠,点击即可弹出DrawerLayout

        //mDrawerLayout与mToolbar关联起来
        ActionBarDrawerToggle actionBarDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, mToolbar, R.string.open, R.string.close);
        //初始化状态
        actionBarDrawerToggle.syncState();

手动打开关闭

手动打开关闭DrawerLayout

  • 打开左边
mDrawerLayout.openDrawer(Gravity.START);
  • 打开右边
mDrawerLayout.openDrawer(Gravity.END);
  • 关闭一边
mDrawerLayout.closeDrawer(Gravity.START);
  • 关闭所有
mDrawerLayout.closeDrawers();

Gravity.START指定打开哪一个,关闭同理。


监听

       //监听
        mDrawerLayout.addDrawerListener(new DrawerLayout.DrawerListener() {
            @Override
            public void onDrawerSlide(@NonNull View view, float v) {
                Log.i("---", "滑动中");
            }

            @Override
            public void onDrawerOpened(@NonNull View view) {
                Log.i("---", "打开");
            }

            @Override
            public void onDrawerClosed(@NonNull View view) {
                Log.i("---", "关闭");
            }

            @Override
            public void onDrawerStateChanged(int i) {
                Log.i("---", "状态改变");
            }
        });

github:https://github.com/yechaoa/MaterialDesign


文档:https://developer.android.google.cn/reference/android/support/v4/widget/DrawerLayout

你可能感兴趣的:(Android,知识点,Material,Design)