Je souhaite masquer TabLayout lors du défilement de mon contenu. Actuellement, j'ai cherché sur le net, mais j'ai trouvé des exemples qui masquent la barre d'outils, mais je veux masquer TabLayout. Alors s'il vous plaît, aidez-moi. J'ai essayé ci-dessous le code.
<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/main_content"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/id_appbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fitsSystemWindows="true">
<Android.support.v7.widget.Toolbar
Android:id="@+id/id_toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"/>
<Android.support.design.widget.TabLayout
Android:id="@+id/id_tabs"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
style="@style/MyCustomTabLayout"/>
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.view.ViewPager
Android:id="@+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>
Voici les exemples d'applications: https://play.google.com/store/apps/details?id=com.contextlogic.wishhttps://play.google.com/ store/apps/details? id = co.Vine.Android
Essayez cette approche. L'idée principale est de déplacer la barre d'outils en dehors de CoordinatorLayout et d'envelopper cette structure de vue avec une autre disposition de conteneur.
<RelativeLayout 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/id_toolbar_container"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fitsSystemWindows="true">
<Android.support.v7.widget.Toolbar
Android:id="@+id/id_toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:layout_scrollFlags="scroll|exitUntilCollapsed" />
</Android.support.design.widget.AppBarLayout>
<Android.support.design.widget.CoordinatorLayout
Android:id="@+id/main_content"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_below="@id/id_toolbar_container">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/id_appbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<Android.support.design.widget.CollapsingToolbarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways">
<Android.support.design.widget.TabLayout
Android:id="@+id/id_tabs"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
<Android.support.v4.view.ViewPager
Android:id="@+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>
</RelativeLayout>
Bonjour, vous souhaitez faire disparaître la barre d'outils et les onglets toujours affichés, vous devez écrire le code suivant:
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|enterAlways"
></Android.support.v7.widget.Toolbar>
Et si vous voulez masquer le TabLayout, utilisez scrollFlags dans le bloc de TabLayout
app:layout_scrollFlags="scroll|enterAlways"
Vous devez déplacer le Toolbar
comme vue de dessus dans la mise en page et le remplacer par View
qui occupera l'espace Toolbar
précédent et défilera comme le fait TabLayout
, dans votre AppBarLayout
.
Voici comment vous devez définir votre mise en page.
<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/preview_top_parent"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true">
<Android.support.design.widget.AppBarLayout...>
<Android.support.v4.view.ViewPager...>
<Android.support.v7.widget.Toolbar/> <-!--- Toolbar is direct child of CooridnatorLayout and z-order above all views --!->
</Android.support.design.widget.CoordinatorLayout>
Voici vidéo