Icono ActionBarDrawerToggle que falta cuando se utiliza AppCompat v22

Estoy utilizando Appcompat v22 para usar el estilo tintado para AutoCompleteTextView. Sin embargo, tan pronto como cambié mi build.gradle de esto:

compile 'com.android.support:support-v4:21.0.3' compile 'com.android.support:appcompat-v7:21.0.3' compile 'com.android.support:cardview-v7:21.0.2' compile 'com.android.support:recyclerview-v7:21.0.2' 

a esto:

 compile 'com.android.support:support-v4:22.0.0' compile 'com.android.support:appcompat-v7:22.0.0' compile 'com.android.support:gridlayout-v7:22.0.0' compile 'com.android.support:cardview-v7:22.0.0' 

El icono de ActionBarDrawerToggle (icono Hamburger) desaparece. (Sin embargo, si me deslizo desde la izquierda, el cajón se revela)

Dentro deCriar ():

  mDrawerLayout = (BBDrawerLayout) findViewById(R.id.drawer_layout); mDrawerLayout.setDrawerShadow(R.drawable.drawer_shadow, GravityCompat.START); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.string.drawer_open, R.string.drawer_close) { @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); toolbar.setTitle(mTitle); invalidateOptionsMenu(); } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); trackEvent(TrackingAware.MENU_SHOWN, null); toolbar.setTitle(mDrawerTitle); invalidateOptionsMenu(); } }; mDrawerLayout.setDrawerListener(mDrawerToggle); 

También han llamado syncState ()

 @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); if (mDrawerToggle != null) { mDrawerToggle.syncState(); } } @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (mDrawerToggle != null) { mDrawerToggle.onConfigurationChanged(newConfig); } } 

Si vuelvo a bajar la versión appcompat de nuevo a 21.0.3, todo empieza a funcionar.

3 Solutions collect form web for “Icono ActionBarDrawerToggle que falta cuando se utiliza AppCompat v22”

La parte relevante está en la última línea de código, los tengo en mi método Activity.onCreate(..) :

  _drawerToggle = new ActionBarDrawerToggle(this, drawerLayout, 0, 0); drawerLayout.setDrawerListener(_drawerToggle); getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

Como recuerdo que la línea está documentada también, pero en appcompat v21 que fueron ignorados (o al menos el valor predeterminado era diferente ..)

Para aquellos que encuentran el mismo problema que Dapp (alternar mostrando flecha hacia atrás en lugar de icono de hamburguesa), esto es más probable porque falta un drawerToggle.syncState() en su actividad.

Para ser más específico, tienes que anular el método onPostCreate () como este:

 @Override protected void onPostCreate(Bundle savedInstanceState) { super.onPostCreate(savedInstanceState); drawerToggle.syncState(); } 

Este no es el único método que debe ser anulado. Ver este post por jpardogo para más detalles.

También asegúrese de usar el tema correcto en su barra de acción … si su barra de acción está oscura, el icono predeterminado podría ser negro a menos que haga esto: "@ style / ThemeOverlay.AppCompat.Dark.ActionBar"

Me mordió, pero sólo en dispositivos Android 4.x (5.x + funcionó muy bien extrañamente)

  • AppCompatDialogFragment problema con appcompat-v7: 23.1.0
  • La sub-pantalla de preferencia no se abre cuando se usa support.v7.preference
  • AppCompat DayNight tema siempre aparece como un tema de luz?
  • Cree su propia preferencia de SwitchCompat
  • Edittext el color es blanco en appcompat 22.2
  • Después de configurar android-support-v7-appcompat R.java falta
  • Cuándo utilizar AppCompatView vs una vista normal de Android
  • Animación ActionBarDrawerToggle
  • Barra de herramientas de Android flecha posterior con icono como WhatsApp
  • ¿Puedo usar Activity en lugar de ActionbarActivity sin Actionbar en Appcompat-v7?
  • Barra de herramientas se mueve fuera de la pantalla cuando uso adjustpan
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.