如果布局为:CoordinatorLayout + TabLayout + ViewPager + RecyclerView
@BindView(R.id.appBarLayout) AppBarLayout appBarLayout; @BindView(R.id.mRecyclerView) RecyclerView mRecyclerView;
在调用CoordinatorLayout滑动之前需要,先将RecyclerView滑动到第一个item,否则可能会导致内容滑动到顶部之后,无法在滑动代码如下:
mRecyclerView.scrollToPosition(0) CoordinatorLayout.Behavior behavior = ((CoordinatorLayout.LayoutParams) appBarLayout.getLayoutParams()).getBehavior(); if (behavior instanceof AppBarLayout.Behavior) { AppBarLayout.Behavior appBarLayoutBehavior = (AppBarLayout.Behavior) behavior; int topAndBottomOffset = appBarLayoutBehavior.getTopAndBottomOffset(); if (appBarLayoutBehavior.getTopAndBottomOffset() != 0) { appBarLayoutBehavior.setTopAndBottomOffset(0); appBarLayout.setExpanded(true, true); }