2013-05-29 10 views
20

Sto provando a implementare il nuovo NavigationDrawer fornito dall'ultima nota di tastiera Android.Impossibile cambiare l'icona del cassetto per NavigationDrawer

Ho tutto pronto e funzionante, il cassetto di navigazione si apre e si chiude premendo l'icona nell'angolo in alto a sinistra.

Ma ora ho ancora l'icona a forma di freccia anche se l'ho sostituita con ic_drawer da Android. Perché?

Ecco il mio codice in cui ho specificato l'icona:

mDrawerToggle = new ActionBarDrawerToggle(
      this,     
      mDrawerLayout,   
      R.drawable.ic_drawer, //<-- This is the icon provided by Google itself 
      R.string.drawer_open, 
      R.string.drawer_close 
      ) 

Ma l'applicazione continua a funzionare con l'icona standard di setDisplayHomeAsUpEnabled.

Qualche idea?

risposta

48

Ho appena attivato il cassetto di navigazione. Avevo dimenticato di aggiungere seguenti metodi forniti anche dai developer.android.com esempi:

@Override 
protected void onPostCreate(Bundle savedInstanceState) { 
    super.onPostCreate(savedInstanceState); 
    // Sync the toggle state after onRestoreInstanceState has occurred. 
    mDrawerToggle.syncState(); 
} 

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 
    mDrawerToggle.onConfigurationChanged(newConfig); 
} 
+1

Questo era esattamente! Grazie! Stavo cercando 2 ore per una soluzione. –

+2

Ho lo stesso problema, ma solo con dispositivi più vecchi, come 2.3. Il mio codice era già come il tuo e il problema continua a disturbarmi .. –

+1

Quindi, quelle volte in cui segui un esempio ufficiale di Google e dici "Oh, non ho ancora bisogno di implementare quelle funzioni". Sì, non farlo. Grazie per questa risposta! – theblang

2

Ho avuto lo stesso problema la risposta è se si sta impostando

getActionBar().setDisplayShowHomeEnabled(false); 

poi viene mostrata l'icona normale fino. Quindi prova senza usarlo

Problemi correlati