2015-09-04 11 views
8

Ich habe folgenden CollapsingToolbarLayout Tag in meinem xml:ändern layout_scrollFlags programmatisch in 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"> 

Ich mag programmatisch den scrollFlags Wert ändern (Laufzeit) - speziell, drücken Sie die scrollbaren Flagge. Ist es möglich?

Antwort

22
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); 

Eine Sache, erwähnenswert - setScrollFlags überschreibt alle bisherigen Flaggen so sollten wir vorsichtig sein, nicht schon verlieren Flagge bestehenden

Verwandte Themen