Abra el cajón de navegación haciendo clic en el icono de la aplicación
Quiero dejar que mi usuario abra el cajón de navegación haciendo clic en el icono de la aplicación. Este es mi código:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_add); // Show the Up button in the action bar. DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.left_drawer); ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle( this, /* host Activity */ mDrawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */ R.string.drawer_open, /* "open drawer" description */ R.string.drawer_close /* "close drawer" description */ ) { /** Called when a drawer has settled in a completely closed state. */ public void onDrawerClosed(View view) { getActionBar().setTitle(R.string.title_activity_add); } /** Called when a drawer has settled in a completely open state. */ public void onDrawerOpened(View drawerView) { getActionBar().setTitle(R.string.drawer_title); } }; mDrawerLayout.setDrawerListener(mDrawerToggle); getActionBar().setDisplayHomeAsUpEnabled(true); // Pressing the app icon in the action bar will navigate to the parent activity. getActionBar().setHomeButtonEnabled(true); }
Pero cuando toco el icono, no pasa nada. Dónde está el problema.
- Cajón de navegación de Android
- ¿Cómo puedo añadir un elemento personalizado a un NavigationView con un diseño de menú?
- Icono de Android ic_drawer.png en color blanco?
- Cajón de navegación siempre visible (un poco)
- Guardar estado de fragmentos con el cajón de navegación
- Dos cajones de navegación en la misma actividad
- Android: NavigationDrawer / múltiples actividades / mismo menú
- Cómo resolver tipos inconvertibles no puede lanzar "Android.support.v4.app.fragment" a "nombre de paquete"
- No muestre la superposición con el Cajón de navegación de Android
- Detección del estado de la aplicación de currículum de diferentes android estado de navegación
- No se puede cambiar el color del icono del cajón de navegación en android
- Navegación Ver Texto Multilínea
- Elemento en negrita después de la selección
Echa un vistazo aquí para un ejemplo de los documentos . Necesitas código adicional en
-
onPostCreate()
para sincronizar su estado de gaveta -
onOptionsItemSelected()
para manejar el evento táctil del icono de la aplicación -
onConfigurationChanged()
para proporcionar la nueva configuración al cajónpublic class YourActivity extends Activity { public ActionBarDrawerToggle mDrawerToggle; @Override protected void onCreate(Bundle savedInstanceState) { ... mDrawerToggle = new ActionBarDrawerToggle(); ... } @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); } @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); } }
Debe anular onOptionsItemSelected
de la actividad y utilizar esto:
@Override public boolean onOptionsItemSelected(MenuItem item) { if (mDrawerToggle.onOptionsItemSelected(item)) { return true; } return super.onOptionsItemSelected(item); }
- Formato de audio para iOS y Android
- Ocultar teclado en android mientras se toca fuera Editar área de texto