如何在保持其原始高度的同时连续显示回收视图项目?
我想将Recycleviewer与FlexboxLayoutManager一起使用。 每个项目通常根据其内容都有自己的高度。 但是,同一行上的每个recycleview项目总是以某种高度结尾。
如何在尊重回收站原始高度的同时连续显示回收站视图项目?
我需要这样显示项目:
我尝试失败的尝试:
我在其中设置布局管理器的代码:
adapter = new ProductAdapter(getContext(), productsList);
layoutManager.setFlexWrap(FlexWrap.WRAP);
layoutManager.setFlexDirection(FlexDirection.ROW);
// layoutManager.setAlignContent(AlignContent.CENTER);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setAdapter(adapter);
我已经尝试过此layoutManager.setAlignContent(AlignContent.CENTER);
但是,您不能在alignContent
中为回收查看器设置FlexboxLayoutManager
。
由于alignContent
用于FlexboxLayout
(不是管理员),导致应用崩溃。
已编辑:
使用StaggeredGridLayoutManager
时,可以解决此问题。
但是,您将失去FlexboxLayoutManager的响应行为。
我为StaggeredGridLayoutManager创建了自己的响应行为:
DisplayMetrics displayMetrics = getActivity().getResources().getDisplayMetrics();
float dpWidth = displayMetrics.widthPixels / displayMetrics.density;
int spanCount = (int) (dpWidth / 222); // 222=total space for 1 item incl. margin
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL));
答案 0 :(得分:1)
尝试像这样的RecyclerView
布局管理器:
recycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
答案 1 :(得分:0)
根据您的图片,我认为您需要的是StaggeredGridLayoutManager