Tengo el siguiente diseño:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/main_content"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.AppBarLayout
android:id="@+id/appBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
</android.support.design.widget.AppBarLayout>
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</android.support.design.widget.CoordinatorLayout>
Añado Fragment
s en el FrameLayout
, reemplazándolos. Uno de mis Fragment
s es una lista, que tiene el siguiente diseño:
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
Mi problema aquí es que la barra de herramientas se dibuja sobre la lista . Traté de resolver eso envolviendo el contenido del CoordinatorLayout
en un LinearLayout
, que resolvió el sobregiro, pero de esa manera el comportamiento de desplazamiento de la barra de aplicaciones ya no funciona.
¡Cualquier ayuda es muy apreciada!
Fragment
contenido con una lista por otraFragment
. Logré mostrar manualmente la barra de herramientas de esta manera.Logré arreglar esto agregando:
al FrameLayout así:
fuente
android:layout_marginTop="?android:attr/actionBarSize"
A partir de Android Studio 3.4, debe poner esta línea en su diseño que contiene el
RecyclerView
.fuente
Para usar la barra de herramientas superior plegable o usar ScrollFlags de su elección, podemos hacer lo siguiente: desde Diseño de materiales, elimine FrameLayout
fuente