2017-06-10 2 views
0

Ich stehe vor einem Problem in einer zusammenklappbaren Werkzeugleiste nach dem Zusammenklappen, Werkzeugleiste überlagert mit tablayout.Wenn ich nicht blättern, funktioniert es gut, aber wenn ich scrolle, sie beide überlappen, Ich ändere Toolbar-Kollapsmodus dynamisch in Fragmenten. enter image description hereWie man Schwerkraftoberseite in zusammenklappbarem Werkzeugleistenlayout einstellt

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

Warum ist Ihr 'Toolbar' unter' TabLayout' und haben 'alignParentBottom' versuchen Orte zu wechseln von' Toolbar' und 'Tablayout 'und entfernen' alignParentBottom' – Yupi

+0

Ich ändere Toolbar Kollaps-Modus Status in einem Fragment in einem anderen Fragment Ich entferne Kollaps-Modus –

Antwort

0

diesen Code Versuchen:

<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

dieser Code hat nicht funktioniert –

+0

Was funktioniert nicht? Sie haben das gleiche Verhalten? – Yupi

+0

hast du dieses Layout versucht, habe ich in XML hinzugefügt funktioniert nicht –