Cómo abrir el cajón de navegación en el botón de clic en el fragmento principal?
He hecho una aplicación con una actividad que utiliza un cajón de navegación para abrir una serie de diferentes fragmentos. Tengo la barra de herramientas drawertoggle, pero no es muy visible. Si coloco un botón en el onCreateView en mi fragmento principal (el fragmento que aparece cuando mi aplicación se inicia por primera vez), ¿cómo puedo conseguirlo para abrir el cajón de navegación controlado por mi actividad?
Esto parece funcionar. La respuesta es mucho más simple de lo que pensé que sería.
- Alternar el cajón de navegación a través del título de la barra de acciones
- FindViewById (int) en Activity no se puede aplicar a (int, android.support.v7.widget.Toolbar
- Cómo ocultar OptionsMenu en NavigationDrawer utilizando Fragmentos?
- Android - Cambiar el Botón Atrás del Botón de Navegación de ActionBar
- Cambiar elementos de NavigationView cuando el usuario está registrado
@Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View fragView = inflater.inflate(R.layout.mainmenu, container, false); button1 = (Button) fragView.findViewById(R.id.button1); mDrawerLayout = (DrawerLayout)getActivity().findViewById(R.id.drawer_layout); mDrawerList = (ListView)getActivity().findViewById(R.id.left_drawer); button1.setOnClickListener(this); return fragView; } @Override public void onClick(View v) { mDrawerLayout.openDrawer(mDrawerList); }
Gracias por sus respuestas.
- Cajón de navegación con la actividad y el niño Fragmentos
- ExpandableListView y el NavigationDrawer
- Android Volver al primer fragmento en navigationdrawer
- ¿Cómo agregar un título en el diseño del cajón de navegación?
- Cajón de navegación coexistente y diseño de panel deslizante
- Icono del menú izquierdo en la barra de acciones de Android
- Cajón de navegación Animación android
- El cajón de navegación en android no está en pantalla completa
Si necesita abrir la diapositiva:
mDrawerLayout.openDrawer(Gravity.LEFT); //Edit Gravity.START need API 14
Si necesita cerrar la diapositiva
mDrawerLayout.closeDrawer(Gravity.LEFT); //Edit Gravity.START need API 14
EJEMPLO
Mi mDrawerLayout se instancia aquí:
mDrawerLayout = (DrawerLayout)findViewById(R.id.my_drawer_layout);
Mi estado de la diapositiva:
mSlideState=false;
Si necesita conocer el estado del menú de diapositivas (cerrado, abierto). Utilice este código:
mDrawerLayout.setDrawerListener(new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_menu_slide, 0, 0){ @Override public void onDrawerClosed(View drawerView) { super.onDrawerClosed(drawerView); mSlideState=false;//is Closed } @Override public void onDrawerOpened(View drawerView) { super.onDrawerOpened(drawerView); mSlideState=true;//is Opened }});
finalmente. Puede utilizar su evento de clic como este:
public void clickEventSlide(){ if(mSlideState){ mDrawerLayout.closeDrawer(Gravity.END); }else{ mDrawerLayout.openDrawer(Gravity.END); }}
En mi caso mi menú de diapositivas está a la derecha (Gravity.END), pero si necesita a la izquierda, intente con Gravity.START
Este trabajo para mí, espero solucionado tu problema.
Utilice el modelo de devolución de llamada estándar como se describe aquí:
http://developer.android.com/training/basics/fragments/communicating.html
Cuando presione el botón, inicie una devolución de llamada a la actividad y haga que abra su cajón.
- No se pudo resolver com.google.firebase: firebase-core: 10.0.1
- Android Studio: ejecuta la aplicación sin actividad de lanzador