可以TabLayout的标签选择指标,同时滚动被固定在屏幕的顶部?(Can the tab sele

2019-10-23 13:05发布

我调查到脚的标签指示的方式TabLayoutCoordinatorLayout同时向下滚动。

如果我添加scroll|enterAlwaysCollapsed标志的TabLayout ,那么tablayout本身,而向下滚动时dissappeared。 我想标签指示条被固定在屏幕的顶部。

有没有办法实现这个的方法吗?

Answer 1:

我想你应该没有任何标志都没有。 您的布局应是这样的:

<CoordinatorLayout>
    <AppBarLayout>

        <Toolbar app:layout_scrollFlags="scroll|enterAlways" />
        <TabLayout/>

    </AppBarLayout>

    < /> <!-- ViewPager or other stuff -->
</CoordinatorLayout>

如果您分配了scroll标志的TabLayout将开始反应,滚动手势,并会根据您的标志移动/进入/退出。 据我了解你的问题,你希望它移动,所以只是删除标志。

见这里以供参考。



Answer 2:

你应该提供自定义的Behavior对你的TabLayoutAppBarLayout (仅当TabLayout只是儿童AppBarLayout ),在那里你会翻译的y TabLayout-mTabLayout.getHeight() + mTabIndicatorHeight 。 如果你有offseting顶部和底部去,你也应该这样做。

目前, TabLayout没有@DefaultBehavior ,它是由翻译AppBarLayout行为。 这是普通的顶部和底部到offseting滚动范围的总量(的已滚动标志视图高度的总和)。



文章来源: Can the tab selection indicator of TabLayout be pinned to the top of the screen while scrolling?