Drawer Mail
Download MaterialX 2.8
Get the Full Android Source Code for all the listed Layouts and more.
Buy Now for $25Layout Screenshot

package com.material.components.activity.menu;
import android.os.Bundle;
import com.google.android.material.navigation.NavigationView;
import androidx.core.view.GravityCompat;
import androidx.drawerlayout.widget.DrawerLayout;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.ActionBarDrawerToggle;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import com.material.components.R;
import com.material.components.utils.Tools;
import com.mikhaellopez.circularimageview.CircularImageView;
public class MenuDrawerMail extends AppCompatActivity {
private ActionBar actionBar;
private Toolbar toolbar;
private Menu menu_navigation;
private DrawerLayout drawer;
private View navigation_header;
private boolean is_account_mode = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu_drawer_mail);
initToolbar();
initNavigationMenu();
}
private void initToolbar() {
toolbar = (Toolbar) findViewById(R.id.toolbar);
toolbar.setBackgroundColor(getResources().getColor(R.color.pink_600));
setSupportActionBar(toolbar);
actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setTitle("Drawer News");
Tools.setSystemBarColor(this, R.color.pink_700);
}
private void initNavigationMenu() {
final NavigationView nav_view = (NavigationView) findViewById(R.id.nav_view);
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close) {
public void onDrawerOpened(View drawerView) {
updateCounter(nav_view);
super.onDrawerOpened(drawerView);
}
};
drawer.setDrawerListener(toggle);
toggle.syncState();
nav_view.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(final MenuItem item) {
onItemNavigationClicked(item);
return true;
}
});
// open drawer at start
drawer.openDrawer(GravityCompat.START);
updateCounter(nav_view);
menu_navigation = nav_view.getMenu();
// navigation header
navigation_header = nav_view.getHeaderView(0);
(navigation_header.findViewById(R.id.bt_account)).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
boolean is_hide = Tools.toggleArrow(view);
is_account_mode = is_hide;
menu_navigation.clear();
if (is_hide) {
menu_navigation.add(1, 1000, 100, "[email protected]").setIcon(R.drawable.ic_account_circle);
menu_navigation.add(1, 2000, 100, "[email protected]").setIcon(R.drawable.ic_account_circle);
menu_navigation.add(1, 1, 100, "Add account").setIcon(R.drawable.ic_add);
menu_navigation.add(1, 2, 100, "Manage accounts").setIcon(R.drawable.ic_settings);
} else {
nav_view.inflateMenu(R.menu.menu_navigation_drawer_mail);
updateCounter(nav_view);
}
}
});
}
private void onItemNavigationClicked(MenuItem item) {
if (!is_account_mode) {
Toast.makeText(getApplicationContext(), item.getTitle() + " Selected", Toast.LENGTH_SHORT).show();
actionBar.setTitle(item.getTitle());
drawer.closeDrawers();
} else {
TextView name = (TextView) navigation_header.findViewById(R.id.name);
TextView email = (TextView) navigation_header.findViewById(R.id.email);
CircularImageView avatar = (CircularImageView) navigation_header.findViewById(R.id.avatar);
switch (item.getItemId()) {
case 1000:
name.setText("Evans Collins");
email.setText(item.getTitle().toString());
avatar.setImageResource(R.drawable.photo_male_5);
break;
case 2000:
name.setText("Adams Green");
email.setText(item.getTitle().toString());
avatar.setImageResource(R.drawable.photo_male_2);
break;
default:
Toast.makeText(getApplicationContext(), item.getTitle(), Toast.LENGTH_SHORT).show();
break;
}
}
}
private void updateCounter(NavigationView nav) {
if (is_account_mode) return;
Menu m = nav.getMenu();
((TextView) m.findItem(R.id.nav_all_inbox).getActionView().findViewById(R.id.text)).setText("75");
((TextView) m.findItem(R.id.nav_inbox).getActionView().findViewById(R.id.text)).setText("68");
TextView badgePrioInbx = (TextView) m.findItem(R.id.nav_priority_inbox).getActionView().findViewById(R.id.text);
badgePrioInbx.setText("3 new");
badgePrioInbx.setBackgroundColor(getResources().getColor(R.color.colorPrimaryLight));
TextView badgeSocial = (TextView) m.findItem(R.id.nav_social).getActionView().findViewById(R.id.text);
badgeSocial.setText("51 new");
badgeSocial.setBackgroundColor(getResources().getColor(R.color.green_500));
((TextView) m.findItem(R.id.nav_spam).getActionView().findViewById(R.id.text)).setText("13");
}
}