0

Ich habe alle Fragen zu meiner Frage hier, aber bisher keine geholfen. Was ich versuche zu erreichen ist, dass die mittlere Werkzeugleiste kollabiert, wenn das Fragment im ViewPager nach unten gescrollt wird und das TabLayout nur anheftet. Hier ist die Struktur meiner Hauptlayoutdatei. Nichts passiert, wenn ich nach unten scrolle.CollapsingToolbarLayout kollabiert nicht, wenn ich viewpager verwende

Bitte helfen Sie mir. Jede Hilfe wäre sehr

geschätzt werden

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?android:attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:popupTheme="@style/AppTheme.PopupOverlay" > 
    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_height="72dp" 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     android:fitsSystemWindows="true" 
     android:background="@color/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

     <android.support.v7.widget.Toolbar 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      app:layout_collapseMode="parallax"> 

      <RelativeLayout android:id="@+id/relativeLayout" 
       android:layout_width="match_parent" 
       android:fitsSystemWindows="true" 
       android:layout_gravity="top" 
       android:paddingRight="20dp" 
       android:paddingLeft="20dp" 
       android:layout_height="wrap_content"> 

       <TextView android:id="@+id/tv_song_name" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textColor="#FFFFFF" 
        android:layout_alignParentLeft="true" 
        android:textSize="20sp" 
        android:ellipsize="marquee" 
        android:singleLine="true" 
        android:text="Bloody Stream"/> 
       <TextView android:id="@+id/tv_artist" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_alignParentLeft="true" 
        android:layout_below="@+id/tv_song_name" 
        android:textSize="15sp" 
        android:fontFamily="Sans-serif-light" 
        android:textColor="#9E9E9E" 
        android:text="by Coda"/> 
      </RelativeLayout> 

     </android.support.v7.widget.Toolbar> 

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

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/colorPrimary" 
     android:layout_below="@+id/tool_bar" 
     android:layout_gravity="center_horizontal" 
     android:layout_alignParentStart="true" 
     android:fitsSystemWindows="true" 
     app:tabGravity="fill" 
     app:tabMode="fixed"/> 
</android.support.design.widget.AppBarLayout> 


<android.support.v4.view.ViewPager 
    android:id="@+id/viewpager" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"/> 


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

Antwort

2

Der Scroll-Container in Ihrem Fragment muss verschachtelten Bildlauf unterstützt. Dies bedeutet, dass Sie entweder NestedScrollView oder RecyclerView verwenden sollten.

+0

hat meine Fragment-Layoutstruktur eine Wurzel RelativeLayout mit einem Kind SwipeRefreshlayout. Sollte ich das SwipeRefreshlayout mit NestedScrollView einschließen? –

+0

Ich bin mir nicht sicher, ich benutze SwipeRefreshLayout nicht, Sie müssen damit experimentieren und sehen. – Karakuri

+0

Ich habe das gleiche Problem wie dieser Benutzer und angewendet das Update, aber immer noch nicht scrollen. http://stackoverflow.com/questions/37520497/fragment-within-collapsingtoolbarlayout-with-viewpager-wont-slide-down –

0

Scheint so, als müsste ich die Symbolleiste mit der Navigationsschaltfläche zurück in die CollapsingToolbarLayout einfügen. Es funktioniert so, wie ich es jetzt vorhatte. Danke für alle Antworten.

<?xml version="1.0" encoding="utf-8"?> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/smooth_appbar_layout" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:theme="@style/AppTheme.AppBarOverlay"> 


    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_height="wrap_content" 
     android:id="@+id/collapsing_toolbar" 
     android:layout_width="match_parent" 
     app:titleEnabled="false" 
     android:fitsSystemWindows="true" 
     android:background="@color/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlwaysCollapsed" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 


     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbar" 
      android:layout_width="match_parent" 
      android:layout_height="?android:attr/actionBarSize" 
      android:background="?attr/colorPrimary" 
      android:fitsSystemWindows="true" 
      app:layout_collapseMode="pin" 
      app:popupTheme="@style/AppTheme.PopupOverlay" /> 

     <android.support.v7.widget.Toolbar 
      android:layout_width="match_parent" 
      android:layout_height="72dp" 
      android:layout_marginTop="?android:attr/actionBarSize" 
      app:layout_collapseMode="parallax"> 
Verwandte Themen