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);
}
}