У меня есть CoordinatorLayout, который используется для сворачивания панели инструментов.
У CoordinatorLayout есть родительский элемент SwipeRefreshLayout
<SwipeRefreshLayout>
<CoordinatorLayout>
<AppBarLayout>
...
</AppBarLayout>
<NestedScrollView>
...
</NestedScrollView>
</CoordinatorLayout>
</SwipeRefreshLayout>
Я следовал этому ответу, чтобы свайп работал с SwipeRefreshLayout
https://stackoverflow.com/a/30785823
Да, я видел, как люди говорили, что поместите макет обновления выше вложенной прокрутки, однако для этого случая использования я хочу обновить содержимое как вложенных макетов, так и содержимое панели приложения
Однако я столкнулся с проблемой
Когда вы проводите пальцем по обновлению и находитесь в середине его пути, так что показывается вращатель обновления, но обновление не было запущено, при переходе назад вниз экран не будет прокручиваться, вместо этого вращающийся элемент застревает там до тех пор, пока Вы убираете палец с экрана.
Вот шаги, которые я предпринял, чтобы вызвать эту ошибку:
- Проведите пальцем вниз, чтобы всплывающее устройство обновилось, но не отпускайте
- Проведите пальцем вверх, как если бы вы собирались прокрутить экран вниз
Редактировать: я видел это раньше в приложении TradeMe, когда вы просматривали элемент, однако я не могу понять, как они это сделали https://play.google.com/store/apps/details?id=nz.co.trademe.trademe&hl=en