仅在AppBarLayout完全展开时启用SwipeRefreshLayout

时间:2016-05-22 20:46:36

标签: android swiperefreshlayout android-appbarlayout

如果SwipeRefreshLayout完全展开,我该如何启用AppBarLayout。我只需要在下一次滑动手势上启用刷新模式。现在,我试试吧

appBar.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
  @Override
  public void onOffsetChanged(AppBarLayout appBarLayout, final int verticalOffset) {
    refreshLayout.setEnabled(verticalOffset == 0);
  }
});

当然,它有效!但它的工作并不像我需要的那样。此代码在用户继续滑动手势时立即启用刷新模式。我需要在AppBarLayout扩展后的下一次滑动中启用它。 谁知道怎么做?

1 个答案:

答案 0 :(得分:3)

好吧,我在同样的问题上遇到了磕磕绊绊。这就是我发现的。我的解决方案并不完美,但它对我有用。 假设我们将一个AppBarLayout和RecyclerView包装在SwipeRefreshLayout中。 注意!科特林发现了。

def a():
    abc = 1
    def write():
        print abc
    write()

def b():
    abc = 1
    def write():
        print abc
        abc += 1
    write()