3

试图使用新的支持设计库。在我的布局中,我希望ToolBar保持在屏幕的顶部,但当用户向下滚动时,屏幕上会出现TabLayout。但它看起来像ViewPagerAppBarLayout下。我用这个博客帖子参考 https://medium.com/ribot-labs/exploring-the-new-android-design-support-library-b7cda56d2c32新的android支持设计库,滚动tablayout offscreen不工作

这是布局,内ViewPager持有Fragments是由回收器看法

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 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:background="@color/material_grey50" 
android:clickable="true"> 

<android.support.design.widget.CoordinatorLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/pager" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/tabLayout" /> 


<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 


    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar_list" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 

     app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 


    <android.support.design.widget.TabLayout 
     android:id="@+id/tabLayout" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/toolbar_list" 
     android:background="?attr/colorPrimary" 
     android:scrollbars="horizontal" 
     android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:tabGravity="center" /> 


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


<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab_post" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentRight="true" 
    android:layout_gravity="bottom|right" 
    android:layout_marginBottom="16dp" 
    android:layout_marginRight="16dp" 
    android:elevation="3dp" 
    android:src="@drawable/ic_videocam_white_36dp" 
    app:backgroundTint="@color/accent" 
    app:fabSize="normal" /> 

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

这里的layout_behavior与回收站视图或嵌套滚动视图等特定控件一起使用。看[demo](https://github.com/chrisbanes/cheesesquare)。 – Harry

回答

0

不要忘记设置这个在viewpager:

app:layout_behavior="@string/appbar_scrolling_view_behavior"

+0

我这样做也没有效果 – Brian

+0

这可能不是这样,但当ViewPager是最后一个孩子,而AppBarLayout是CoordinatorLayout的第一个孩子时,它可以在我的项目中正常工作。尝试按顺序重新排序。另外,我看到''标签添加了代码片段的底部,所以如果这是以前删除的剩余部分,请尝试删除它。 –

+0

嗯重新排序不起作用,你使用设计支持22.2.0和支持库22.2?这个布局是否在一个片段中会有影响吗? – Brian

相关问题