Alternar el cajón de navegación a través del título de la barra de acciones

Estoy intentando permitir que el usuario abra / cierre el cajón de navegación en mi aplicación tocando el título de la barra de acción (así se configura la aplicación de Android Gmail actual). En este momento, el usuario puede alternar el cajón tocando el ícono de la aplicación / cajón o deslizándolo con un golpe de izquierda a derecha. Sin embargo, el título de la barra de acciones en sí no es clicable. De acuerdo con los documentos del desarrollador , hacer clic en el título de la barra de acciones debe "enviar onOptionsItemSelected a la actividad de host con un MenuItem con ID de artículo android.R.id.home " cuando utilizamos NAVIGATION_MODE_STANDARD pero por alguna razón no puedo obtener el título para comportarse de esta manera.

Creo que el cajón de navegación en sí está bien, pero aquí es cómo configurar la barra de acción:

 private void configureActionBar(CharSequence mTitle) { ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); actionBar.setHomeButtonEnabled(true); actionBar.setIcon(R.drawable.ic_blank); GradientDrawable gd = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, new int[] { 0xFF004700, 0xFF002900 }); gd.setCornerRadius(0f); actionBar.setBackgroundDrawable(gd); // set the title of the action bar using the given title actionBar.setTitle(mTitle); } 

Cualquier sugerencia sería muy apreciada!

2 Solutions collect form web for “Alternar el cajón de navegación a través del título de la barra de acciones”

Si desea que el cajón se abra pulsando Icono / Título de ActionBar, le sugiero que utilice la clase ActionBarDrawerToggle proporcionada en la biblioteca de soporte ( android.support.v4.app.ActionBarDrawerToggle )

Referencia: https://developer.android.com/reference/android/support/v4/app/ActionBarDrawerToggle.html

Ejemplo de uso:
https://developer.android.com/training/implementing-navigation/nav-drawer.html

El truco viene al capturar el evento en onOptionsItemSelected (), que tiene que pasarlo a la ActionBarDrawerToggle, por lo que puede manejar la solicitud abrir / cerrar cajón:

 @Override public boolean onOptionsItemSelected(MenuItem item) { // Pass the event to ActionBarDrawerToggle, if it returns // true, then it has handled the app icon touch event if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } // Handle your other action bar items... return super.onOptionsItemSelected(item); } 

El ícono / título se muestra si el atributo de tema de la aplicación está establecido en AndroidManifest.xml como este:

  <application android:name=".SampleApp" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme"> 

Res / values ​​/ styles.xml contiene la declaración del tema

 <style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"> 

Funciona usando android.support.v7.app.ActionBarDrawerToggle, la clase support.v4 está obsoleta mientras tanto. Consulte Cómo utilizar la biblioteca support-v7-appcompat

  • Indicador de cajón en lollipop play store
  • ¿Por qué DrawerLayout a veces falla al abrirse?
  • ¿Cómo abrir un nuevo fragmento del cajón de navegación?
  • Nuevo ActionBarDrawerToggle cuando se utiliza AppCompatActivity
  • Gaveta de navegación: agrega encabezados en listview
  • Establecer el icono de NavigationDrawer en el lado derecho mediante el widget de la barra de herramientas de AppCompat-V-21
  • Cerrar Gaveta de navegación sin animación
  • El cajón de navegación se cierra al hacer clic
  • ¿Cómo evitar la recreación de fragmentos cuando se selecciona de NavigationDrawer?
  • Cajón de navegación con cabeceras / secciones
  • Barra de navegación translúcida Lollipop (fitsSystemWindows = "true")
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.