我想在我的应用中添加回顶部按钮。我使用recyclerview来显示项目。我添加了按钮,当我点击它时,视图将显示在顶部,但我的目标是仅在应用程序向下滚动或向上滚动时显示此按钮,并且我的第一个项目不可见(我希望这清楚解释)。我试过
LayoutManager.findFirstCompletelyVisibleItemPosition();
和LayoutManager的其他方法,但没有可接受的效果。
答案 0 :(得分:4)
我的解决方案如下所示。我在RecyclerView上添加了OnScrollListener,当滚动视图时,我会检查第一个项目是否可见,并设置了我的按钮的可见性。
MyRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
int visibility = (MyLayoutManager.findFirstCompletelyVisibleItemPosition() != 0) ? View.VISIBLE : View.GONE;
btn.setVisibility(visibility);
}
});