在CollapsingToolbarLayout中以编程方式更改layout_scrollFlags

18

我在XML文件中有以下的CollapsingToolbarLayout标签:

<android.support.design.widget.CollapsingToolbarLayout
    android:id="@+id/collapsingToolbarLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:contentScrim="?attr/colorPrimary"
    app:expandedTitleMarginStart="@dimen/expanded_toolbar_title_margin_start"
    app:layout_scrollFlags="exitUntilCollapsed">

我希望在程序运行时动态更改scrollFlags的值,具体来说,是切换可滚动标志。这是否可能?

2个回答

43
CollapsingToolbarLayout collapsingToolbar = (CollapsingToolbarLayout) findViewById(R.id.collapsing_toolbar);
AppBarLayout.LayoutParams params = (AppBarLayout.LayoutParams) collapsingToolbar.getLayoutParams();
params.setScrollFlags(AppBarLayout.LayoutParams.SCROLL_FLAG_SNAP); // list other flags here by |
collapsingToolbar.setLayoutParams(params);

值得一提的是 - setScrollFlags 会覆盖所有先前的标志,因此我们应该注意不要丢失已经存在的标志。


1
    getSupportActionBar().setHideOnContentScrollEnabled(true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接