Cambiar el icono del cajón de nuevo a la flecha de retroceso
Estoy usando el nuevo DrawerLayout
para tener navegación lateral. Estoy usando el icono del cajón (la "hamburguesa") así:
@Override protected void onStart() { super.onStart(); mDrawerLayout = (DrawerLayout) findViewById(R.id.activity_main_drawerlayout); mDrawerToggle = new ActionBarDrawerToggle( this, mDrawerLayout, R.drawable.ic_navigation_drawer, R.string.app_name, R.string.app_name); mDrawerLayout.setDrawerListener(mDrawerToggle); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); }
Sin embargo, cuando agrego un Fragment
al backstack, quiero mostrar de nuevo la flecha hacia atrás, para que el usuario pueda volver a "home" y abrir el cajón de la aplicación.
- Múltiples actividades (no fragmentos) con un NavigationDrawer. ¿Cómo mostrar la actividad seleccionada actualmente?
- Android - ¿Es posible cajón de navegación desde el lado derecho?
- NavigationDrawer desactivar el desplazamiento a la derecha
- Cómo cerrar el cajón de navegación cuando se pulsa un elemento desde el mismo?
- Lista plegable Elemento en la navegación Cajón
¿Cómo puedo restablecer el icono del cajón en el icono posterior?
La flecha que quiero:
- Cajón de navegación de Android
- Cajón de navegación siempre visible (un poco)
- Elemento seleccionado en el cajón de navegación
- Retardo de cajón de navegación en Android
- Elemento en negrita después de la selección
- Cómo ajustar el ancho del cajón de navegación en el estudio de Android
- Cómo agregar un grupo al cajón de navegación mediante programación
- Determinar si el NavigationDrawer está abriendo o cerrando
Para inhabilitar y ocultar el DrawerToggle "Hamburger", simplemente llame al
mDrawerToggle.setDrawerIndicatorEnabled(false);
He creado una interfaz para la actividad de alojamiento para actualizar el estado de vista del menú de hamburguesas. Para los fragmentos de nivel superior, establezco la conmutación a true
y para los fragmentos para los que quiero mostrar la flecha hacia arriba, establezco la conmutación a false
.
public class SomeFragment extends Fragment { public interface OnFragmentInteractionListener { public void showDrawerToggle(boolean showDrawerToggle); } private OnFragmentInteractionListener mListener; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { this.mListener = (OnFragmentInteractionListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnFragmentInteractionListener"); } } @Override public void onResume() { super.onResume(); mListener.showDrawerToggle(false); } }
Entonces en mi Actividad …
public class MainActivity extends Activity implements SomeFragment.OnFragmentInteractionListener { private ActionBarDrawerToggle mDrawerToggle; public void showDrawerToggle(boolean showDrawerIndicator) { mDrawerToggle.setDrawerIndicatorEnabled(showDrawerIndicator); } }
- ¿Cómo diferencia Log.wtf () de Log.e ()?
- ADT necesita actualizar pero no encuentra ninguna actualización