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.

@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.

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.

  • Dinámico añadiendo elemento a NavigationView en Android
  • Desplazamiento de izquierda a derecha con el visor y el cajón de navegación
  • Cómo abrir diferentes actividades al hacer clic en los elementos del cajón de navegación?
  • ¿Cómo reemplazar el icono de la hamburguesa utilizado para ActionBarToggle en la barra de herramientas de Android con una costumbre drawable?
  • ¿Cómo implementar el cajón de navegación androide expandible con subitems?
  • ¿Cómo superar este elemento de relleno en el cajón de navegación?
  • El cajón de navegación es lento con vista compleja
  • Problemas en el uso de nuevo componente de la barra de herramientas, ocultar y mostrar Icono del cajón de navegación, icono de inicio de clic de iconos de fragmentos
  • Colorear la barra de estado de Android en Nav Drawer
  • Reemplazar el diseño de la barra de herramientas de acuerdo con el fragmento visualizado
  • FragmentManager.beginTransaction () no se puede aplicar a (int, android.app.fragment)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.