SwipeRefreshLayout с CollapsibleToobarLayout не прокручивается вниз после отмены обновления - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть CoordinatorLayout, который используется для сворачивания панели инструментов. У CoordinatorLayout есть родительский элемент SwipeRefreshLayout

<SwipeRefreshLayout>
    <CoordinatorLayout>
        <AppBarLayout>
            ...
        </AppBarLayout>
        <NestedScrollView>
            ...
        </NestedScrollView>
    </CoordinatorLayout>
</SwipeRefreshLayout>

Я следовал этому ответу, чтобы свайп работал с SwipeRefreshLayout https://stackoverflow.com/a/30785823

Да, я видел, как люди говорили, что поместите макет обновления выше вложенной прокрутки, однако для этого случая использования я хочу обновить содержимое как вложенных макетов, так и содержимое панели приложения

Однако я столкнулся с проблемой Когда вы проводите пальцем по обновлению и находитесь в середине его пути, так что показывается вращатель обновления, но обновление не было запущено, при переходе назад вниз экран не будет прокручиваться, вместо этого вращающийся элемент застревает там до тех пор, пока Вы убираете палец с экрана.

Вот шаги, которые я предпринял, чтобы вызвать эту ошибку:

  1. Проведите пальцем вниз, чтобы всплывающее устройство обновилось, но не отпускайте
  2. Проведите пальцем вверх, как если бы вы собирались прокрутить экран вниз

Редактировать: я видел это раньше в приложении TradeMe, когда вы просматривали элемент, однако я не могу понять, как они это сделали https://play.google.com/store/apps/details?id=nz.co.trademe.trademe&hl=en

1 Ответ

0 голосов
/ 07 ноября 2018

Вместо CoordinatorLayout, попробуйте капсулировать только NestedScrollView в SwipeRefreshLayout.

<CoordinatorLayout>
<AppBarLayout>
        ...
</AppBarLayout>
<SwipeRefreshLayout>
    <NestedScrollView>
        ...
    </NestedScrollView>
</<SwipeRefreshLayout>>
</CoordinatorLayout>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...