2015-09-04 11 views
8

Mam następujący tag CollapsingToolbarLayout w moim xml:Zmiany layout_scrollFlags programowo w 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"> 

Chciałbym zmienić wartość scrollFlags programowo (run time) - konkretnie przełączyć przewijalną flagę. Czy to możliwe?

Odpowiedz

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

Jedno warto wspomnieć - setScrollFlags zastępuje wszystkie poprzednie flagi więc trzeba uważać, by nie stracić już istniejących flagę

Powiązane problemy