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

相关问题