package br.com.livrowebservices.carros.activity;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBar;
import android.support.v7.widget.Toolbar;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import br.com.livrowebservices.carros.R;
/**
* Created by ricardo on 08/08/15.
*/
public class BaseActivity extends livroandroid.lib.activity.BaseActivity {
protected DrawerLayout drawerLayout;
// Configura a Toolbar
protected void setupToolbar() {
final Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
}
// Configura o Nav Drawer
protected void setupNavDrawer(final NavigationView.OnNavigationItemSelectedListener navListener) {
// Drawer Layout
final ActionBar actionBar = getSupportActionBar();
actionBar.setHomeAsUpIndicator(R.drawable.ic_menu);
actionBar.setDisplayHomeAsUpEnabled(true);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
if (navigationView != null) {
// Atualiza os dados do header do Navigation View
setNavViewValues(navigationView, R.string.nav_drawer_username,
R.string.nav_drawer_email, R.mipmap.ic_launcher);
// Listenr ao clicar no menu
navigationView.setNavigationItemSelectedListener(
new NavigationView.OnNavigationItemSelectedListener() {
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
menuItem.setChecked(true);
drawerLayout.closeDrawers();
if (navListener != null) {
navListener.onNavigationItemSelected(menuItem);
}
return true;
}
});
}
}
// Atualiza os dados do header do Navigation View
public static void setNavViewValues(NavigationView navView, int nome,int email, int img) {
View headerView = navView.getHeaderView(0);
TextView tNome = (TextView) headerView.findViewById(R.id.tNome);
TextView tEmail = (TextView) headerView.findViewById(R.id.tEmail);
ImageView imgView = (ImageView) headerView.findViewById(R.id.img);
tNome.setText(nome);
tEmail.setText(email);
imgView.setImageResource(img);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
openDrawer();
return true;
}
return super.onOptionsItemSelected(item);
}
// Abre o menu lateral
protected void openDrawer() {
drawerLayout.openDrawer(GravityCompat.START);
}
// Fecha o menu lateral
protected void closeDrawer() {
drawerLayout.closeDrawer(GravityCompat.START);
}
}