使用 CollapsingToolbarLayout setCollapseMode

Using CollapsingToolbarLayout setCollapseMode

我正在尝试设置新的 CollapsingToolbarLayout 的 CollapseMode

我可以为 child 创建新的参数并分配它。但这并没有改变 layout_scrollFlags 我想我需要编辑。

CollapsingToolbarLayout.LayoutParams mParams = new CollapsingToolbarLayout.LayoutParams(mCollapsing.getLayoutParams());
mParams.setCollapseMode(CollapsingToolbarLayout.LayoutParams.COLLAPSE_MODE_OFF);
mCollapsing.getChildAt(0).setLayoutParams(mParams);

所以我想打开和关闭滚动模式。

有人做过吗?

玩了几个小时后。

原来 layout_scrollFlags 是 AppBarLayout class 中的布局参数。

您可以使用

获取当前标志
AppBarLayout.LayoutParams mParams = (AppBarLayout.LayoutParams) abBar.getChildAt(0).getLayoutParams();
int currentScrollFlags = mParams.getScrollFlags();

这意味着您可以使用

将其关闭
 mParams.setScrollFlags(0);

有些人可能会问为什么,我需要我的用户在下面的视图中进行选择,一旦发生这种情况,我会将标志变为 3,即 scroll|exitUntilCollapsed 您也可以使用

AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS
AppBarLayout.LayoutParams.SCROLL_FLAG_EXIT_UNTIL_COLLAPSED
AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS
AppBarLayout.LayoutParams.SCROLL_FLAG_ENTER_ALWAYS_COLLAPSED

希望这对某人有所帮助。