Changer l'icône du hamburger tiroir de navigation
Je suis en train de changer hamburger icône de menu pour NavigationView
mais je suis incapable de le faire.
Voici ce que j'ai essayé jusqu'à présent
J'ai une base d'activité où nav tiroir d'installation est terminé. Ici est pertinente morceau de code
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.setContentView(R.layout.activity_base_nav);
setSupportActionBar(toolbar);
setupDrawer();
}
private void setupDrawer() {
mDrawerLayout.setDrawerListener(this);
mDrawerToggle = new ActionBarDrawerToggle(this,
mDrawerLayout,
R.string.open,
R.string.close);
mDrawerToggle = new ActionBarDrawerToggle(mContext,
mDrawerLayout,
R.string.open,
R.string.close);
mDrawerLayout.setDrawerListener(mDrawerToggle);
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDefaultDisplayHomeAsUpEnabled(false);
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerToggle.setHomeAsUpIndicator(R.drawable.ic_share_48pt_2x);
}
mDrawerToggle.syncState();
mNavigationView.setNavigationItemSelectedListener(
menuItem -> {
mMenuItem = menuItem.getItemId();
mDrawerUtil.onNavMenuItemClicked(mMenuItem);
mDrawerLayout.closeDrawers();
return true;
});
}
@Override
public void setContentView(int layoutResID) {
getLayoutInflater().inflate(layoutResID, mContainer);
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
mDrawerToggle.syncState();
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
mDrawerToggle.onConfigurationChanged(newConfig);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
return super.onOptionsItemSelected(item);
}
Toutefois, il ne semble pas fonctionner pour moi. J'ai aussi essayé d'appeler setDrawerIndicatorEnabled(false)
et setHomeAsUpIndicator(R.drawable.ic_share_48pt_2x)
sur SupportActionBar
mais qui ne fonctionne pas.
source d'informationauteur Abhishek Bansal
Vous devez vous connecter pour publier un commentaire.
Le code suivant fonctionne très bien pour moi,
J'ai également eu à ajouter une barre d'outils de navigation, cliquez sur l'écouteur pour écouter les événements click sur le tiroir icône
Enfin, je peux mettre à jour l'icône de façon dynamique comme
Utiliser seulement ceci :
Vous n'avez pas besoin de gérer setToolbarNavigationClickListener qui est accepté de répondre.
Avez-vous essayez de regarder la documentation ?
http://developer.android.com/training/implementing-navigation/nav-drawer.html
J'ai trouvé ce morceau de code :
Voici ce qui fonctionne pour moi: