首页 > 解决方案 > 取消刷新后,带有 CollapsibleToobarLayout 的 SwipeRefreshLayout 不会向下滚动

问题描述

我有一个用于折叠工具栏的 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=zh-CN

标签: androidandroid-collapsingtoolbarlayoutswiperefreshlayout

解决方案


而不是CoordinatorLayout,尝试仅封装NestedScrollViewinside SwipeRefreshLayout

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

推荐阅读