如何让CoordinatorLayout内容滚动到顶部,以及存在的无法滑动的问题

如果布局为: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);
    }

 

你可能感兴趣的:(工作,android)