Показать и скрыть кнопку под панелью приложений или панелью инструментов при прокрутке

Я пытаюсь показать кнопку под панелью приложений всякий раз, когда содержимое (fragment_container) прокручивается в CoordinatorLayout. Это работает, но я хочу, чтобы кнопка отображалась чуть ниже appbar/toolbar, а не увеличивала высоту панели приложений при отображении. В настоящее время он расширяет панель приложений, потому что она вложена в нее. Я пробовал комбинации с RelativeLayout безуспешно.

Как мне «отсоединить» его от appbar/toolbar и сделать так, чтобы он по-прежнему отображался внизу при прокрутке содержимого?

На изображении ниже зеленым цветом обозначена панель приложений, фиолетовым — toolbar, а красным — кнопка, которую я хочу показать за пределами (прямо под) макетов appbar/toolbar. На белом фоне показан recyclerview в файле fragment_container.

Текущий макет

Макет, используемый для получения результатов на изображении выше:

<android.support.design.widget.CoordinatorLayout
  android:id="@+id/coordinator">

  <android.support.design.widget.AppBarLayout
    android:id="@+id/appbar">

      <Toolbar
          android:id="@+id/toolbar"
          app:layout_scrollFlags="scroll|enterAlways"/>

      <Button
          android:id="@+id/scrollToTop"
          app:layout_scrollFlags="scroll|enterAlways"
          android:layout_marginTop="10dp" />

  </android.support.design.widget.AppBarLayout>

  <FrameLayout
    android:id="@+id/fragment_container"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

</android.support.design.widget.CoordinatorLayout>

ИЗМЕНИТЬ:

Посмотрите на изображение ниже, чтобы увидеть результат, который мне нужен. При прокрутке содержимого в CoordinatorLayout я хочу, чтобы кнопка отображалась. Прокрутка вверх (свайп вверх) должна удалить кнопку.

Желаемый макет




Ответы (1)


person    schedule
comment
Не то, что я хочу. В вашем примере показан SnackBar в самом верху CoordinatorLayout. Я хочу показать представление под панелью приложений и заставить его появляться и исчезать при перемещении CoordinatorLayout. Он должен быть снаружи и ниже AppBarLayout внутри CoordinatorLayout. - person thilemann; 29.07.2017