2015-09-04 14 views
8

Ho il seguente tag CollapsingToolbarLayout nel mio xml:Variazione layout_scrollFlags di programmazione 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"> 

Vorrei cambiare il valore scrollFlags di programmazione (tempo di esecuzione) - in particolare, attivare o disattivare la bandiera scorrevole. È possibile?

risposta

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

Un aspetto degno di nota - setScrollFlags override tutte le bandiere precedenti, quindi dobbiamo stare attenti a non perdere già bandiera

esistente
Problemi correlati