Comment désactiver l'effondrement de CollapsingToolbar lorsque le défilement ne s'est pas déroulé?
Je suis en utilisant android de soutien à la conception du com.android.support:design:22.2.1 " mon problème est que quand le livre n'a pas de contenu en elle, l'effondrement de la barre d'outils qui permet encore à l'effondrement de l'action. J'ai besoin de supprimer l'effondrement de la vue si le livre n'a pas de 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>
UDPATE QUESTION:
Je suis fait avec l'activation et la désactivation de l'effondrement de la vue. J'ai utilisé cette ligne de code pour désactiver l'effondrement:
AppBarLayout.LayoutParams appbarParams = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams();
appbarParams.setScrollFlags(0);
collapsingToolbar.setLayoutParams(p);
Le problème est que la barre de l'application est la force de l'élévation de la scrollflags est mis à 0. J'ai essayé à l'aide d'applications alot.setElevation(0), mais il n'a pas d'effet. comment puis-je supprimer l'élévation de ma barre d'applications?
source d'informationauteur Earwin delos Santos
Vous devez vous connecter pour publier un commentaire.
obtenir votre appbarlayout de référence et de définir la setScrollFlags.
Essayer
appbarParams.setScrollFlags(-1);
etappBarLayout.setExpanded(true, true)
pour supprimer l'élévation.Et si vous avez recyclerView dans le fragment, essayez
recyclerView.setNestedScrollingEnabled(false);
Besoin de désactiver étendre sur CollapsingToolbarLayout pour certains fragments
Pour arrêter l'effondrement de collapsingtoolbar ne pas donner
app:layout_scrollFlags="scroll|exitUntilCollapsed"
dans le fichier XML..Vous pouvez le retirer du codePar "arrêt n'a pas de contenu", je suppose que tu veux dire "il n'y a pas de fragment". Pour cela, je pense que vous devez d'abord modifier le
<fragment>
à un<FrameLayout>
, puis ajouter le fragment par programmation à l'aide degetFragmentManager().beginTransaction()
, et de vérifier ensuite si le fragment est présent (c'est à dire pas null) comme suit: