Cajón que no cubre la barra de acción
Quiero abrir un cajón tal que cubre la barra de acción. Lo intenté usar un diseño linear de los padres y dentro de él definí la barra de herramientas y el drawerLayout y está trabajando muy bien pero la cosa es no puedo ver el artículo del menú allí. Que es puedo abrir el cajón solamente deslizando de izquierda a derecha en la pantalla. Si defino la barra de herramientas fuera de la disposición linear que el menú está mostrando pero la barra de acción no está cubierta por el cajón. ¿Cómo lograr ambos simultáneamente? Aquí está mi archivo xml de Activity_main
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" xmlns:tools="http://schemas.android.com/tools" android:background="@color/white" android:fitsSystemWindows="true" android:layout_height="match_parent" android:orientation="vertical" tools:context="variofitness.com.schedulekeeper.HomeActivity"> <include android:id="@+id/toolbar_actionbar" layout="@layout/toolbar_default" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" /> <android.support.v4.widget.DrawerLayout android:id="@+id/drawer" android:layout_width="match_parent" android:layout_height="match_parent"> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@color/white" android:clickable="true" /> <fragment android:id="@+id/fragment_drawer" android:name="variofitness.com.schedulekeeper.Fragments.NavigationDrawerFragment" android:layout_width="@dimen/navigation_drawer_width" android:layout_height="match_parent" android:layout_gravity="start" app:layout="@layout/fragment_navigation_drawer" /> </android.support.v4.widget.DrawerLayout>
- ¿Cómo implementar el efecto ripple en Android KeyboardView?
- Android TabLayout con pestaña activa siempre en el centro, al igual que en la aplicación Play Kiosco
- Muestra un SnackBar en la parte superior (debajo de la barra de herramientas)
- Cómo animar barras de herramientas superior e inferior (o cualquier otra vista) entrar / salir de la pantalla en desplazamiento en CoordinatorLayout?
- Los elementos de pestaña inflados en Tab Layout no coinciden con parent en android
- Botón de inicio de Android en la barra de herramientas de contracción con imagen
- ¿Cómo utilizar ItemAnimator en un RecyclerView?
- CoordinatorLayout no dibuja detrás de la barra de estado incluso con windowTranslucentStatus y fitsSystemWindows
- Obtención de error al inflar la clase android.support.design.widget.NavigationView
- Efecto de elevación para ImageButton en dispositivos Pre-Lollipop
- Etiqueta flotante con dos editText
- Xamarin - Clases no encontradas (android support library)
- Uso de Theme.Material.Light.DarkActionBar con Theme.AppCompat.Light.DarkActionBar bloquea la aplicación en android L (api v21)
Intenta de esta manera te ayudará
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:id="@+id/container_toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <include android:id="@+id/toolbar" layout="@layout/toolbar" /> </LinearLayout> <FrameLayout android:id="@+id/container_body" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" /> </LinearLayout> <fragment android:id="@+id/fragment_navigation_drawer" android:name="info.androidhive.materialdesign.activity.FragmentDrawer" android:layout_width="@dimen/nav_drawer_width" android:layout_height="match_parent" android:layout_gravity="start" app:layout="@layout/fragment_navigation_drawer" tools:layout="@layout/fragment_navigation_drawer" /> </android.support.v4.widget.DrawerLayout>
Please modify your Xml:Put your action bar inside the drawer or use drawer as parent layout:
Otro código de ejemplo:
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_all_courses_drawer_layout" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.design.widget.CoordinatorLayout android:id="@+id/parent_layout" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.activlearn.ui.AllCoursesActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <include layout="@layout/home_tool_bar" /> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_all_courses" /> </android.support.design.widget.CoordinatorLayout> <fragment android:name="com.activlearn.fragments.DrawerFragment" class="com.activlearn.fragments.DrawerFragment" android:layout_width="@dimen/drawer_width" android:layout_height="wrap_content" android:layout_gravity="start" tools:layout="@layout/fragment_drawer" /> </android.support.v4.widget.DrawerLayout>
Esto debería funcionar bien si obtiene la estructura de su diseño correcto. Según esta guía aquí :
Para agregar un cajón de navegación, declare su interfaz de usuario con un objeto DrawerLayout como la vista raíz de su diseño. Dentro de DrawerLayout, agregue una vista que contenga el contenido principal de la pantalla (el diseño principal cuando el cajón esté oculto) y otra vista que contenga el contenido del cajón de navegación.
Así que su DrawerLayout debe ser la raíz y tener dos hijos directos. Sin embargo, tiene tres elementos que incluir, por lo que debe agrupar la barra de herramientas y el contenedor de contenido. En pseudo código, la estructura sería así:
<DrawerLayout> <LinearLayout> (or other type of layout) <Toolbar/> <content container/> </LinearLayout> <Navigation Drawer/> </DrawerLayout>