我需要recyclerview将其最后一项滚动到其中间。我的意思是我需要使用LinearLayoutManager的recyclerview的las元素,而不是停止在recyclerview的底部,而是滚动到它的中间。 这是一个简单的方法来实现这一点?recyclerview中的滚动区域
0
A
回答
0
您可以使用RecyclerView.ItemDecoration
在最后一项上放置额外的底部边距。它最终会看起来像这样:
public class TopMarginDecoration
extends RecyclerView.ItemDecoration {
@Override
public void getItemOffsets(outRect, view, parent, state) {
int position = parent.getChildAdapterPosition(view);
if (position + 1 == parent.getAdapter().getItemCount()) {
// get height of recyclerview
// get height of child view
// calculate required space to center the child view
outRect.bottom += calculatedSpace;
}
}
}
您可以使用RecyclerView.addItemDecoration(…)
在活动或片段绑了一起。
0
final LinearLayoutManager llm = new LinearLayoutManager(context,LinearLayoutManager.VERTICAL,false);
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (recyclerView.getAdapter().getItemCount() == (llm.findLastCompletelyVisibleItemPosition() + 1)) {
Toast.makeText(MainActivity.this, "Sholled", Toast.LENGTH_SHORT).show();
}
}
});
相关问题
- 1. 滚动区域
- 2. AChartEngine滚动区域
- 3. PRISM滚动区域
- 4. ListView的滚动区域
- 5. 动态滚动区域
- 6. 滚动条滚动控制滚动区域Qt中
- 7. RecyclerView不滚动滚动
- 8. 限制UIScrollView中的滚动区域
- 9. cocos2d版本2中的滚动区域
- 10. 与滚动recyclerview
- 11. RecyclerView + ImageView的滚动
- 12. 可滚动区域html
- 13. Javascript可滚动区域
- 14. 限制uiscrollview滚动区域
- 15. iPad可滚动区域
- 16. 滚动查看区域
- 17. 空滚动区域QT C++
- 18. 限制滚动区域
- 19. 设置UIScrollView滚动区域
- 20. 在嵌套滚动视图的区域中启用滚动
- 21. 在溢出区域中滚动选择区域
- 22. 在文本区域中启用滚动
- 23. 滚动recyclerview如何滚动recyclerview以外的对象
- 24. RecyclerView里面的RecyclerView不滚动
- 25. 滚动recyclerview项目
- 26. Recyclerview滚动问题
- 27. 滞后滚动recyclerview
- 28. RecyclerView不会滚动
- 29. RecyclerView无尽滚动
- 30. 相对RecyclerView滚动
对不起,但你的问题还不清楚,你是否想要当你到达RecyclerView的最后一个项目时,你会回到RecyclerView的中间项目? –
你可以添加一个空的页脚查看并手动设置它的高度以匹配最后一项的一半高度?这将实现滚动距离最后一项高度一半的列表的效果。 – Guardanis