禁掉RecyclerView滑动时隐藏AppBarLayout的方法

2018-01-09 遇到的一点小问题

.

之前通过CoordinatorLayout与AppBarLayout配合使用的滑动效果,但这种情况不管底下的RecyclerView有没有数据,整个页面都可以网上滑动。所以有些时候需要关掉滑动模式。
网上找了下,找到了,这边记录下。再次感谢知乎大神-托尼,相关内容网上比较哦少,不好找。

AppBarLayout appBar = (AppBarLayout) findViewById(R.id.wannoo_app_bar);
View appBarChildAt = appBar.getChildAt(0);
AppBarLayout.LayoutParams appBarParams = (AppBarLayout.LayoutParams) appBarChildAt.getLayoutParams();

appBarParams.setScrollFlags( 0);//这个加了之后不可滑动
appBarChildAt.setLayoutParams(appBarParams);

int i0 = AppBarLayout.LayoutParams.SCROLL_FLAG_SCROLL;
int i1 = AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED;
int i2 = AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS;
int i3 = AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED;
 int i4 = AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP;
appBarParams.setScrollFlags( i0 | i1);//这个设置回去
appBarChildAt.setLayoutParams(appBarParams);

你可能感兴趣的:(禁掉RecyclerView滑动时隐藏AppBarLayout的方法)