Intereting Posts
DatePickerDialog отображает год выборщика ActionBarSherlock AndroidManifest.xml и другие файлы отсутствуют при импорте Ничья постоянно вызывается в моем наложении карты на андроид Как я могу оптимизировать цикл 4D-матричное векторное умножение с ARM NEON? Можно ли использовать Android Beam между устройством Android и другим устройством NFC? Воспроизведение локального видео на Glass GoogleApiClient бросает «GoogleApiClient еще не подключен» ПОСЛЕ ONConnected функция вызова Обеспечение задержки между событиями в UiAutomator Android DialogFragment бросает ClassCastException, если вызвано из фрагмента Не удалось построить GStreamer для Android Tutoritals SurfaceTexture.OnFrameAvailableListener перестает быть вызванным Тень не работает при использовании панели инструментов (Lollipop appcompat-v7) Область действия Dagger2, сколько модулей / компонентов мне нужно? Ссылка Android TextView без подчеркивания? Получить путь к файлу из пойманного намерения DownloadManager

Изменение панели инструментов и 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