1

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

我可以为孩子创建新的参数并分配它。但这不会改变我认为我需要编辑的 layout_scrollFlags。

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

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

有人做过吗?

4

1 回答 1

4

在玩了几个小时之后。

原来 layout_scrollFlags 是 AppBarLayout 类中的一个 layoutparams。

您可以使用获取当前标志

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

希望这可以帮助某人。

于 2015-06-02T18:35:11.023 回答