Изменение панели инструментов и CollapsingToolbarLayout флажки прокрутки программно

У меня есть одно приложение Activity android с большим количеством фрагментов. Когда я показываю экран списка, я хочу использовать Toolbar с app:layout_scrollFlags="scroll|enterAlways" . И в подробных фрагментах я хочу использовать CollapsingToolbarLayout с изображением в нем. Поскольку это одно приложение Activity, у меня есть только одна Toolbar . Могу ли я изменить свой макет программным образом в соответствии с обоими случаями?

Да. Предположим, вы переходите от фрагмента CollapsingToolbarLayout к панели инструментов.

  1. Вы сворачиваете свой AppBarLayout с помощью AppBarLayout.setExpanded(false) ;

  2. Вы изменяете флажки прокрутки в соответствии с вашими потребностями.

     AppBarLayout.LayoutParams p = (AppBarLayout.LayoutParams) toolbar.getLayoutParams(); p.setScrollFlags(...); toolbar.setLayoutParams(p); 

    То же самое касается CollapsingToolbarLayout, если это необходимо. Я думаю, это должно быть что-то вроде:

     collapsingToolbarParams.setScrollFlags(0); //no flags for ctl toolbarParams.setScrollFlags(SCROLL_FLAG_SCROLL | SCROLL_FLAG_ENTER_ALWAYS); //new flags for toolbar