package github.nisrulz.navigationdrawer; import android.content.res.Configuration; import android.os.Bundle; import android.support.design.widget.NavigationView; import android.support.v4.widget.DrawerLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.widget.Toast; public class MainActivity extends AppCompatActivity { DrawerLayout androidDrawerLayout; ActionBarDrawerToggle actionBarDrawerToggle; NavigationView navigationView; Toolbar toolbar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initNavDrawerToggel(); } private void initNavDrawerToggel() { toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); androidDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_design_support_layout); actionBarDrawerToggle = new ActionBarDrawerToggle(MainActivity.this, androidDrawerLayout, R.string.app_name, R.string.app_name); androidDrawerLayout.addDrawerListener(actionBarDrawerToggle); navigationView = (NavigationView) findViewById(R.id.navigation_view); navigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem item) { //Checking if the item is in checked state or not, if not make it in checked state if (item.isChecked()) item.setChecked(false); else item.setChecked(true); //Closing drawer on item click androidDrawerLayout.closeDrawers(); switch (item.getItemId()) { case R.id.nav_menu_item1: Toast.makeText(MainActivity.this, "Item 1 Clicked", Toast.LENGTH_SHORT).show(); break; case R.id.nav_menu_item2: Toast.makeText(MainActivity.this, "Item 2 Clicked", Toast.LENGTH_SHORT) .show(); break; case R.id.nav_menu_item3: Toast.makeText(MainActivity.this, "Item 3 Clicked", Toast.LENGTH_SHORT) .show(); break; default: break; } return true; } }); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } @Override public void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); actionBarDrawerToggle.syncState(); } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); actionBarDrawerToggle.onConfigurationChanged(newConfig); } @Override public boolean onOptionsItemSelected(MenuItem item) { // This is required to make the drawer toggle work if (actionBarDrawerToggle.onOptionsItemSelected(item)) { return true; } /* * if you have other menu items in your activity/toolbar * handle them here and return true */ return super.onOptionsItemSelected(item); } }