如何计算距离滚动上下回收者视图

时间:2017-04-21 10:32:39

标签: android android-recyclerview android-support-library

我想在recyclerview向上和向下滚动一段距离时显示并隐藏按钮(按钮的高度)我已经编写了一些代码,但它没有按预期工作

@Override
public void onScrolled(RecyclerView view, int dx, int dy) {
    super.onScrolled(view, dx, dy);
    if (verticalOffset > floatingActionMenu.getHeight() && dy > 0) {
        floatingActionMenu.setVisibility(View.VISIBLE);
    } else {
        floatingActionMenu.setVisibility(View.GONE);
    }
    verticalOffset += dy;
}

1 个答案:

答案 0 :(得分:0)

尝试实现onScrollStateChange。

我的草稿看起来像这样。

            (DateTime.Now.AddDays(1) - DateTime.Now).TotalDays

根据您 int distance =0; int scrollDirection; @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); scrollDirection = dy; distance+=dy; Log.d("TAG", "onScrolled: " + dy); } @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { if (newState == RecyclerView.SCROLL_STATE_IDLE) { if (scrollDirection > 0) { Log.d("TAG", "onScrollStateChanged: " + " STOPPED " + distance); distance = 0; } else { Log.d("TAG", "onScrollStateChanged: " + " STOPPED " + distance); distance = 0; } } } 中的最终distance值,您可以指望隐藏按钮。我应该告诉您,您还必须在onScrollStateChange中隐藏/显示您的FAB吗?