我正在使用RecyclerView
水平显示项目。我想将选中的项目设置为这样的视图的中心如何将项目设置为回收站视图的中心时
这是我正在做它:
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
我正在使用RecyclerView
水平显示项目。我想将选中的项目设置为这样的视图的中心如何将项目设置为回收站视图的中心时
这是我正在做它:
LinearLayoutManager layoutManager
= new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
recyclerView.setLayoutManager(layoutManager);
请重排序这个解决方案的:
LinearLayoutManager layoutManager = ((LinearLayoutManager)recyclerView.getLayoutManager());
int totalVisibleItems = layoutManager.findLastVisibleItemPosition() - layoutManager.findFirstVisibleItemPosition()
int centeredItemPosition = totalVisibleItems/2;
recyclerView.smoothScrollToPosition(position);
recyclerView.setScrollY(centeredItemPosition);
希望这有助于。
这是为了在滚动时或点击ite时捕捉中心的项目。
您需要将SnapHelper添加到RecyclerView中。这里是如何:
final RecyclerView recyclerViewObject = view.findViewById(R.id.recyclerViewObjectId);
final LinearSnapHelper snapHelper = new LinearSnapHelper();
snapHelper.attachToRecyclerView(recyclerViewObject);
recyclerViewObject.setOnFlingListener(snapHelper);
,那么你只需要调用这个代码
recyclerViewObject.addOnItemTouchListener(
new RecyclerItemClickListener(getContext(), recyclerViewObject ,new RecyclerItemClickListener.OnItemClickListener() {
@Override public void onItemClick(View view, int position) {
recyclerViewObject.smoothScrollToPosition(position);
}
@Override public void onLongItemClick(View view, int position) {
}
})
);
请提供你的愿望实现,哪些是你已经尝试过这样的截图远 – TejjD
尝试使用,而不是RecyclerView'ViewPager'。 –
@Ravi你有没有得到任何解决方案? –