Sto cercando di cambiare l'icona del menu hamburger per NavigationView
ma non riesco a farlo.Cambiare icona del cassetto di navigazione icona hamburger
Ecco quello che ho provato finora
ho un'attività di base in cui viene effettuato l'installazione del cassetto nav. Qui è il pezzo di codice rilevante
@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);
}
Tuttavia, non sembra funzionare per me. Ho anche provato a chiamare setDrawerIndicatorEnabled(false)
e setHomeAsUpIndicator(R.drawable.ic_share_48pt_2x)
su SupportActionBar
ma anche questo non funziona.
Aggiunta di '@Override protetto non valido onPostCreate (@Nullable Bundle savedInstanceState) { super.onPostCreate (savedInstanceState); nActionBarToggle.syncState(); } @Override public void onConfigurationChanged (Configuration newConfig) { super.onConfigurationChanged (newConfig); nActionBarToggle.onConfigurationChanged (newConfig); } 'ha funzionato per me – captaindroid
grazie al suo lavoro per me –
Ho fatto esattamente così, ma il mio interruttore non è selezionabile. – Yar