2017-06-10 2 views
0

Je suis confronté à un problème dans une barre d'outils pliable après l'effondrement, barre d'outils se superpose avec tablayout.Si je ne défile pas, il fonctionne bien mais si je défile, ils se chevauchent Je modifie dynamiquement le mode de réduction de la barre d'outils en fragments. enter image description hereComment faire pour placer la gravité en haut dans la barre d'outils pliable

Code:

private void setToolbarPin(Toolbar toolbar) 
    { 

     ViewGroup.LayoutParams params = toolbar.getLayoutParams(); 
     CollapsingToolbarLayout.LayoutParams newParams; 
     if (params instanceof CollapsingToolbarLayout.LayoutParams) { 
      newParams = (CollapsingToolbarLayout.LayoutParams)params; 
     } else { 
      newParams = new CollapsingToolbarLayout.LayoutParams(params); 
     } 

     newParams.setCollapseMode(CollapsingToolbarLayout.LayoutParams.COLLAPSE_MODE_OFF); 
     newParams.gravity = Gravity.TOP; 
     toolbar.setLayoutParams(newParams); 






     // toolbar.requestLayout(); 

    } 
} 
<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/appbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:id="@+id/collapsing_toolbar" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed|snap" 
      android:fitsSystemWindows="true" 
      > 


      <View 
       android:id="@+id/customView" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       app:layout_collapseMode="parallax" 
       ></View> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabs" 
       app:layout_behavior="@string/appbar_scrolling_view_behavior" 
       android:paddingTop="?attr/actionBarSize" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:visibility="gone" 
       android:layout_gravity="bottom" 
       /> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       app:layout_behavior="@string/appbar_scrolling_view_behavior" 
       android:layout_height="?attr/actionBarSize" 
       android:background="?attr/colorPrimary" 
       android:layout_gravity="top" 
       android:layout_alignParentTop="true" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
       app:layout_scrollFlags="scroll|enterAlways|snap" 
       /> 
     </android.support.design.widget.CollapsingToolbarLayout> 



    </android.support.design.widget.AppBarLayout> 



    <FrameLayout 
     android:id="@+id/container" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" 
     > 


    </FrameLayout> 


    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="end|bottom" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@drawable/ic_done" /> 

</android.support.design.widget.CoordinatorLayout> 
+0

Pourquoi votre '' Toolbar' ci-dessous TabLayout' et ont 'alignParentBottom' essayer de changer de place de' 'Toolbar' et Tablayout 'et supprimer' alignParentBottom' – Yupi

+0

je modifie l'état du mode de réduction de barre d'outils dans un fragment dans un autre fragment je supprime le mode de réduction –

Répondre

0

Essayez ce 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: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" 
    app:expanded="true" 
    android:fitsSystemWindows="true" 
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> 
    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" 
     app:layout_scrollFlags="scroll|enterAlways"> 
    </android.support.v7.widget.Toolbar> 
    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:tabTextColor="@android:color/white" 
     app:tabGravity="fill" 
     app:tabMode="scrollable" /> 
</android.support.design.widget.AppBarLayout> 
+0

ce code n'a pas fonctionné –

+0

Ce qui ne fonctionne pas? Vous avez le même comportement? – Yupi

+0

avez-vous essayé cette mise en page, j'ai ajouté en xml ne fonctionne pas –