这就是我要的:
如上图所示,我想绘制一条中心线RecycleView,然后在滚动时(以及向左或向右移动)获取中心项目.
这是我尝试绘制水平线RecycleView:
HorizontalAdapter adapter = new HorizontalAdapter(data);
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recycleView.setLayoutManager(layoutManager);
recycleView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
有没有办法知道哪个项目被移动到中心RecycleView?如何RecycleView向左或向右滚动一个位置?
更新:我试图使用滚动侦听器来获得中间位置,但它不能作为方面.
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int firstPos = layoutManager.findFirstVisibleItemPosition();
int lastPos = layoutManager.findLastVisibleItemPosition();
int middle = Math.abs(lastPos - firstPos) / 2 + firstPos;
int selectedPos = -1;
for (int i = 0; i < adapter.getItemCount(); i++) {
if (i == middle) {
adapter.getItem(i).setSelected(true);
selectedPos …Run Code Online (Sandbox Code Playgroud) 我正在使用水平布局管理器RecyclerView.我需要以下RecyclerView一种方式制作:当点击某个项目时 - 将smoothScrool放到该位置并将该项目放在中心RecyclerView(如果可能的话,例如20中的10项).
所以,我没有问题smoothScrollToPosition(),但如何把项目放在RecyclerView??? 的中心?
谢谢!