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!

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

  • Cajón de navegación onNavigationDrawerItemSelected llamado antes de MainActivity onCreate?
  • FindViewById (int) en Activity no se puede aplicar a (int, android.support.v7.widget.Toolbar
  • Cambiar entre la imagen de la gaveta de navegación de Android y el cursor hacia arriba al utilizar fragmentos
  • ¿Cómo evitar la recreación de fragmentos cuando se selecciona de NavigationDrawer?
  • Java.lang.NullPointerException: Intenta invocar el método virtual 'ActionBar.setNavigationMode (int)' en una referencia de objeto nulo
  • Android NavigationView grupo de menús divider
  • Android - Navegación personalizada
  • Android 5.0 - Animar el AppCompat v7 21 icono de inicio de la hamburguesa a la flecha hacia atrás mediante programación
  • Android: OnClick para el encabezado del cajón de navegación no funciona
  • Cajón de navegación coexistente y diseño de panel deslizante
  • Android Design Navigation Drawer - ¿Cómo agregar un conmutador en el navegador xml?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.