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)

  • Cambiar actionOverflowButtonStyle con appcompat v21
  • Appcompat "java.lang.IllegalArgumentException: el parámetro debe ser un descendiente de esta vista" en ViewGroup.offsetRectBetweenParentAndChild
  • Utilice la biblioteca AppCompat para la compatibilidad con ActionBar
  • Android appCompat problema con samsung y wiko
  • ActionBar con AppCompat actionBarItemBackground no funciona
  • Lollipop optimizó la compilación de aplicaciones en Kitkat - LayoutInflaterCompatHC NoClassDefFoundError
  • AppCompat DayNight tema siempre aparece como un tema de luz?
  • Android appcompat barra de acción elemento de menú showAsAction no funciona
  • El elemento de menú ActionBarCompat no se muestra
  • NoClassDefFoundError: Resolución fallida de: Landroid / support / v7 / appcompat / R $ styleable
  • AppCompat v7: 21 ¿La barra de acción dividida está rota?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.