1

我有:有1.工具欄,2. ViewPager,3. TabLayout,4.小ViewPager,5. ViewPager爲片段,其具有RecyclerView: )CoordinatorLayout滾動和釘扎

enter image description here


期望:當RecyclerView內5. ViewPager低於滾動,1.Toolbar,3.TabLayout,4.ViewPager必須固定,並且只有2.ViewPager應該滾動匆匆象下面這樣:

enter image description here


問題:我不僅能引腳2.ViewPager無釘扎1.Toolbar。所以它就像我固定1.Toolbar和2.ViewPager或沒有他們。

enter image description here


問題:如何滾動時只能躲在2.ViewPager?

代碼:

<?xml version="1.0" encoding="utf-8"?> 
<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/coordinatorLayoutFeedNew" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/color_white" 
    android:fitsSystemWindows="true"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/appbarLayoutFeedNew" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@color/color_white" 
     android:fitsSystemWindows="true"> 

     <android.support.v7.widget.Toolbar 
      android:id="@+id/toolbarFeedNew" 
      android:layout_width="match_parent" 
      android:layout_height="?attr/actionBarSize" 
      android:background="@drawable/toolbar_shadow" 
      android:gravity="center_horizontal" 
      android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

      <ImageView 
       android:id="@+id/toolbarLogoFeedNew" 
       android:layout_width="wrap_content" 
       android:layout_height="32dp" 
       android:layout_gravity="center" 
       android:gravity="center" 
       android:src="@drawable/fenerbahce_logo" /> 

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

     <android.support.v4.view.ViewPager 
      android:id="@+id/viewPagerTopFeedNew" 
      android:layout_width="match_parent" 
      android:layout_height="150dp" 
      android:background="@drawable/mavi_bg_gradient" 
      app:layout_scrollFlags="scroll|enterAlways" /> 

     <LinearLayout 
      android:id="@+id/layoutTabAndSkor" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/haberler_bg" 
      android:orientation="vertical"> 

      <android.support.design.widget.TabLayout 
       android:id="@+id/tabLayoutFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:background="@drawable/genel_haberler_bant" 
       app:tabGravity="fill" 
       app:tabMode="scrollable" 
       app:tabSelectedTextColor="@color/color_light_gray" 
       app:tabTextAppearance="@style/tabLayoutTextAppearance" 
       app:tabTextColor="@color/color_white" /> 

      <LinearLayout 
       android:layout_width="match_parent" 
       android:layout_height="58dp" 
       android:background="@null" 
       android:orientation="vertical"> 


       <android.support.v4.view.ViewPager 
        android:id="@+id/viewPagerSkorFeedNew" 
        android:layout_width="match_parent" 
        android:layout_height="0dp" 
        android:layout_weight="1" 
        android:background="@null" /> 

       <com.viewpagerindicator.CirclePageIndicator 
        android:id="@+id/circleIndicatorFeedNew" 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:layout_gravity="bottom" 
        android:background="@null" 
        android:paddingBottom="4dp" 
        android:paddingTop="4dp" 

        app:fillColor="@color/color_white" 
        app:pageColor="#bbbbbb" 
        app:strokeColor="#bbbbbb" /> 
      </LinearLayout> 
     </LinearLayout> 

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

    <com.pordiva.coreproject.component.NonSwipableViewPager 
     android:id="@+id/viewPagerPostsFeedNew" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:background="@color/color_white" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

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

這是你想要做什麼/實現? http://i.stack.imgur.com/y20rH.png有點複雜。並且你說:'如果在圖片上只滾動了2.ViewPager,那麼'ViewPager-2'已經不存在了。 – Mohsen

+0

從AppBarLayout中取出3-4-5。 Pin 1和Make 2可滾動。 –

回答

0

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbarLayoutFeedNew" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:background="@color/color_white" 
    android:fitsSystemWindows="true"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbarFeedNew" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="@drawable/toolbar_shadow" 
     android:gravity="center_horizontal" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> 

     <ImageView 
      android:id="@+id/toolbarLogoFeedNew" 
      android:layout_width="wrap_content" 
      android:layout_height="32dp" 
      android:layout_gravity="center" 
      android:gravity="center" 
      android:src="@drawable/fenerbahce_logo" /> 

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

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewPagerTopFeedNew" 
     android:layout_width="match_parent" 
     android:layout_height="150dp" 
     android:background="@drawable/mavi_bg_gradient" 
     app:layout_scrollFlags="scroll|enterAlways" />  
</android.support.design.widget.AppBarLayout> 

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

    <LinearLayout 
     android:id="@+id/layoutTabAndSkor" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="@drawable/haberler_bg" 
     android:orientation="vertical"> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabLayoutFeedNew" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@drawable/genel_haberler_bant" 
      app:tabGravity="fill" 
      app:tabMode="scrollable" 
      app:tabSelectedTextColor="@color/color_light_gray" 
      app:tabTextAppearance="@style/tabLayoutTextAppearance" 
      app:tabTextColor="@color/color_white" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="58dp" 
      android:background="@null" 
      android:orientation="vertical"> 


      <android.support.v4.view.ViewPager 
       android:id="@+id/viewPagerSkorFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:background="@null" /> 

      <com.viewpagerindicator.CirclePageIndicator 
       android:id="@+id/circleIndicatorFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom" 
       android:background="@null" 
       android:paddingBottom="4dp" 
       android:paddingTop="4dp" 

       app:fillColor="@color/color_white" 
       app:pageColor="#bbbbbb" 
       app:strokeColor="#bbbbbb" /> 
     </LinearLayout> 
    </LinearLayout> 

<com.pordiva.coreproject.component.NonSwipableViewPager 
    android:id="@+id/viewPagerPostsFeedNew" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@color/color_white" /> 

+0

我把最後一個ViewPager放在最後一個LinearLayout中,這次滾動標誌不起作用。如果我把最後一個LinearLayout之後的最後一個ViewPager放在那裏,那麼tablayout就會丟失 –

0

如果我underestood是正確的,你可以使用CollapsingToolbarLayout這個標誌:

app:layout_scrollFlags="scroll|exitUntilCollapsed" 

它說:

滾動視圖和倒塌後,退出(或你的目的,隱藏 倒塌後)。

這裏是工作的如何是一個很好的例子:https://github.com/TheLittleNaruto/SupportDesignExample

只要把你的內容到它倒塌後,那麼它會隱藏或view.i認爲這是離開你要找什麼對於。


編輯:用你自己的實現中使用它。

或者類似的東西其實這:

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

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/toolbar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbarFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/viewPagerTopFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="150dp" /> 

      <!--Perhaps a ViewPager--> 

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

     <android.support.design.widget.TabLayout 
      android:id="@+id/tabLayoutFeedNew" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@android:color/darker_gray" 
      app:tabMode="scrollable" /> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="58dp" 
      android:background="@null" 
      android:orientation="vertical"> 

      <android.support.v4.view.ViewPager 
       android:id="@+id/viewPagerSkorFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="0dp" 
       android:layout_weight="1" 
       android:background="@null" /> 

      <com.viewpagerindicator.CirclePageIndicator 
       android:id="@+id/circleIndicatorFeedNew" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_gravity="bottom" 
       android:background="@null" 
       android:paddingBottom="4dp" 
       android:paddingTop="4dp" 
       app:fillColor="@color/color_white" 
       app:pageColor="#bbbbbb" 
       app:strokeColor="#bbbbbb" /> 

     </LinearLayout> 

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

希望有所幫助。

+0

不起作用,我嘗試了超過10個組合:D –

+0

它在工作,不知道現在是什麼問題:) – Mohsen

相關問題