禁止AppBarLayout滑动

最近在项目里面出现一个bug,CoordinatorLayout+AppBarLayout+CollapsingToolbarLayout+toolbar+ExpandTabView(筛选器)
当前布局是这样
页面犹豫有一个筛选框,上面有appbarlayout,所以当筛选框打开的时候,会导致可以滑动

禁止AppBarLayout滑动

/**
    * 控制appbar的滑动
    * @param isScroll true 允许滑动 false 禁止滑动
    */
   private void banAppBarScroll(boolean isScroll){
    
    
       View mAppBarChildAt = appBarLayout.getChildAt(0);
       AppBarLayout.LayoutParams  mAppBarParams = (AppBarLayout.LayoutParams)mAppBarChildAt.getLayoutParams();
       if (isScroll) {
    
    
           mAppBarParams.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL | AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED);
           mAppBarChildAt.setLayoutParams(mAppBarParams);
       } else {
    
    
           mAppBarParams.setScrollFlags(0);
	mAppBarChildAt.setLayoutParams(mAppBarParams);
       }
   }

	mAppBarChildAt.setLayoutParams(mAppBarParams);记得别漏了这句,我就是少了这句 一直效果没出来,还以为这样写没用

Guess you like

Origin blog.csdn.net/yangbin0513/article/details/108070279