Próbuję zmienić ikonę menu hamburgera na NavigationView
, ale nie mogę tego zrobić.Zmiana ikony szuflady nawigacji nawigacji
Oto, co starałem tak daleko
Mam działalności podstawowej gdzie konfiguracja nav szuflada jest wykonywana. Oto odpowiedni fragment kodu:
@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);
}
Jednak dla mnie to nie działa. Próbowałem również wywoływać setDrawerIndicatorEnabled(false)
i na SupportActionBar
, ale to również nie działa.
Dodawanie '@Override chronione void onPostCreate (@Nullable Bundle savedInstanceState) { super.onPostCreate (savedInstanceState); nActionBarToggle.syncState(); } @Override publiczny void onConfigurationChanged (Konfiguracja newConfig) { super.onConfigurationChanged (newConfig); nActionBarToggle.onConfigurationChanged (newConfig); } 'pracował dla mnie – captaindroid
dzięki mojej pracy dla mnie –
Zrobiłem dokładnie to, ale mój przełącznik nie jest klikalny. – Yar