J'ai un RecyclerView personnalisé et une barre d'outils qui se cachent lors du défilement vers le bas et apparaissent lors du défilement vers le haut. J'ai un problème avec la position de RecyclerView, c'est en dessous de la barre d'outils, j'utilise le comportement mais ça ne marche pas.
Mon xml:
<?xml version="1.0" encoding="utf-8"?>
<Android.support.design.widget.CoordinatorLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/coordinatorLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<Android.support.v7.widget.RecyclerView
xmlns:Android="http://schemas.Android.com/apk/res/Android"
Android:id="@+id/recyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"/>
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<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" />
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.view.ViewPager
Android:id="@+id/viewPager"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</Android.support.design.widget.CoordinatorLayout>
Essaye ça:
<?xml version="1.0" encoding="utf-8"?>
<Android.support.design.widget.CoordinatorLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/coordinatorLayout"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:orientation="vertical">
<Android.support.v7.widget.RecyclerView
Android:id="@+id/recyclerView"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appBarLayout"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<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" />
</Android.support.design.widget.AppBarLayout>
</Android.support.design.widget.CoordinatorLayout>
J'ai supprimé ViewPager et ajouté un comportement de défilement à RecyclerView
Si l'ajout d'un comportement de défilement ne résout pas votre problème
app:layout_behavior="@string/appbar_scrolling_view_behavior"
ALORS ESSAYEZ CECI
J'ai dû donner un rembourrage à recyclerview qui est équivalent à la hauteur de la barre d'outils/barre d'action (barre d'application).
Android:paddingTop="?attr/actionBarSize"
ajoutez la ligne ci-dessus au fichier xml recyclerview
Lorsque j'ai inclus RecyclerView à partir d'une autre mise en page, le même problème s'est produit. J'ai ajouté cette ligne suivante sur recyclerview et le problème ne persiste plus.
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Manquer cette ligne ci-dessus rendra ce problème.
Vous devez ajouter cet attribut à votre RecyclerView:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
c'est à dire.:
<Android.support.v7.widget.RecyclerView
Android:id="@+id/my_recycler_view"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />