我正在制作一个包含 recyclerView 的应用程序,我已经成功实现了,现在是我的 想要的是,如果我在工具栏上放置一个按钮,用于回滚到回收站中的项目顶部,当我点击该按钮时,我的RecyclerView会滚动到顶部项目或第一项出现在我的 recycleView列表中,我研究了很多问题,但没有找到任何有用的解决方案来解决我的问题。请帮忙
我正在使用Android Studio。
并且RecyclerView也使用
反转
layout.setReverseLayout(true)
layout.setStackFromEnd(true);
这样如果发布一个新帖子 将显示在顶部而不是底部
答案 0 :(得分:0)
尝试这个
mRecyclerView.getLayoutManager().scrollToPosition(pos);
其中pos是将recycleView滚动到顶部设置pos = 0的位置。
答案 1 :(得分:0)
您应该使用.smoothScrollToPosition
平滑滚动到所需的位置。
如果您的问题是您希望滚动位置位于列表新视图的实际顶部。您应该创建一个自定义LinearLayoutManager,它使用自定义LinearSmoothScroller
覆盖:override fun getVerticalSnapPreference(): Int = SNAP_TO_START
完成此操作后,覆盖.smoothScrollToPosition
以使用此新的自定义平滑滚动条
答案 2 :(得分:0)
以下代码将首先检查视图是否滚动,并相应地更改按钮的可见性:
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);
}
});
答案 3 :(得分:0)
尝试此链接一次。这里有清楚的解释。测量recyclerview的高度和宽度。然后将recyclerview滚动到任何坐标。