J'utilise le support technique d'Android 'com.Android.support:design:22.2.1', mais le problème est que, lorsque le défilement n'a pas de contenu, la barre d'outils Réduire permet toujours l'action de réduction. Je dois supprimer la réduction de la vue si le parchemin ne contient aucun contenu.
Mon XML:
<Android.support.design.widget.CoordinatorLayout
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:fitsSystemWindows="true">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/appbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fitsSystemWindows="true"
Android:background="@Android:color/white"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<Android.support.design.widget.CollapsingToolbarLayout
Android:id="@+id/collapsing_toolbar"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<fragment
Android:id="@+id/pawfile_header"
Android:name="com.lightbulb.pawesome.fragments.PawfileHeaderFragment"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginLeft="10dp"
Android:layout_marginTop="10dp"
Android:fitsSystemWindows="true"
app:layout_collapseMode="parallax" />
</Android.support.design.widget.CollapsingToolbarLayout>
</Android.support.design.widget.AppBarLayout>
<fragment
Android:id="@+id/pawfile_timeline"
Android:name="com.lightbulb.pawesome.user_timeline.PawesomeUserTimelineFragment"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</Android.support.design.widget.CoordinatorLayout>
QUESTION UDPATE:
J'en ai terminé avec la désactivation et l'activation de la réduction de la vue. J'ai utilisé cette ligne de code afin de désactiver la réduction:
AppBarLayout.LayoutParams appbarParams = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams();
appbarParams.setScrollFlags(0);
collapsingToolbar.setLayoutParams(p);
Le problème est que la barre d’application est forcée pour que l’élévation des scrollflags soit définie sur 0. J’ai essayé d’utiliser appbar.setElevation (0) mais cela n’a aucun effet. Comment puis-je supprimer l'élévation de ma barre des tâches?
récupérez votre référence appbarlayout et définissez setScrollFlags.
AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams();
p.setScrollFlags(0);
toolbar.setLayoutParams(p);
Essayez appbarParams.setScrollFlags(-1);
et appBarLayout.setExpanded(true, true)
pour supprimer l'élévation.
Et si vous avez recyclerView dans le fragment, essayez recyclerView.setNestedScrollingEnabled(false);
Nécessité de désactiver le développement de CollapsingToolbarLayout pour certains fragments
Pour arrêter l'effondrement de collapsingtoolbar ne donnez pas
app:layout_scrollFlags="scroll|exitUntilCollapsed"
dans le fichier XML..Vous pouvez supprimer ce code