0

У меня есть все вопросы, связанные с моим вопросом, но пока никто не помог. То, что я пытаюсь добиться, состоит в том, чтобы срезать среднюю панель инструментов, когда фрагмент в ViewPager прокручивается вниз, и TabLayout будет просто зацикливаться. Вот структура моего основного файла макета. Ничего не происходит, когда я прокручиваю вниз.CollapsingToolbarLayout не рушится при использовании viewpager

Пожалуйста, помогите мне. Любая помощь будет принята с благодарностью

<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" /> 

ответ

2

прокручивающееся контейнер в вашем Fragment должен поддерживать вложенную прокруткой. Это означает, что вы должны использовать либо NestedScrollView, либо RecyclerView.

+0

Моя структура макета фрагмент имеет корень RelativeLayout с ребенком SwipeRefreshlayout. Должен ли я заключить SwipeRefreshlayout с помощью NestedScrollView? –

+0

Я не уверен, я не использую SwipeRefreshLayout, вам придется экспериментировать с ним и видеть. – Karakuri

+0

У меня такая же проблема, как у этого пользователя, и применил исправление, но все же моя не будет прокручиваться. http://stackoverflow.com/questions/37520497/fragment-within-collapsingtoolbarlayout-with-viewpager-wont-slide-down –

0

Похоже, что я должен включить панель инструментов с кнопкой навигации в CollapsingToolbarLayout. Сейчас он работает так, как я думал. Спасибо за все ответы.

<?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"> 
Смежные вопросы