How to detect if navigation drawer is open? How to detect if navigation drawer is open? android android

How to detect if navigation drawer is open?


Assuming you have defined a drawerlayout in xml:

DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);...if(mDrawerLayout.isDrawerOpen(GravityCompat.START)) {  //drawer is open}


 mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);    mDrawerToggle = new ActionBarDrawerToggle(            this,                  /* host Activity */            mDrawerLayout,         /* DrawerLayout object */            R.drawable.ic_drawer,  /* nav drawer icon to replace 'Up' caret */            R.string.drawer_open,  /* "open drawer" description */            R.string.drawer_close  /* "close drawer" description */            ) {        /** Called when a drawer has settled in a completely closed state. */        public void onDrawerClosed(View view) {            super.onDrawerClosed(view);            getActionBar().setTitle(mTitle);        }        /** Called when a drawer has settled in a completely open state. */        public void onDrawerOpened(View drawerView) {            super.onDrawerOpened(drawerView);            getActionBar().setTitle(mDrawerTitle);        }    };    // Set the drawer toggle as the DrawerListener    mDrawerLayout.setDrawerListener(mDrawerToggle);

That listener use:)


Use:

mDrawerLayout.isDrawerOpen() method

Example:

    if(mDrawerLayout.isDrawerOpen(GravityCompat.START)) {        mDrawerLayout.closeDrawer(Gravity.LEFT); //CLOSE Nav Drawer!    }else{        mDrawerLayout.openDrawer(Gravity.LEFT); //OPEN Nav Drawer!    }