Android 使用FlexboxLayoutManager回收查看不同高度的项目

Android 使用FlexboxLayoutManager回收查看不同高度的项目,android,android-recyclerview,android-flexboxlayout,Android,Android Recyclerview,Android Flexboxlayout,如何在保持原始高度的同时,连续显示我的recycleview项目 我想使用带有FlexboxLayoutManager的recycleviewer。 每个项目通常有自己的高度取决于其内容。 然而,同一行上的每个recycleview项目总是以相同的高度结束 如何在尊重原始高度的情况下,连续显示我的recycleview项目 我需要如下显示项目: 我的尝试没有成功: 小物件总是伸展的 设置布局管理器的代码: recycler.setLayoutManager(new StaggeredGridL

如何在保持原始高度的同时,连续显示我的recycleview项目

我想使用带有FlexboxLayoutManager的recycleviewer。 每个项目通常有自己的高度取决于其内容。 然而,同一行上的每个recycleview项目总是以相同的高度结束

如何在尊重原始高度的情况下,连续显示我的recycleview项目

我需要如下显示项目:

我的尝试没有成功:

小物件总是伸展的

设置布局管理器的代码:

recycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
我已尝试过此layoutManager.setAlignContentAlignContent.CENTER; 但是,不能在FlexboxLayoutManager中为recycleviewer设置alignContent。 应用程序崩溃,因为alignContent用于FlexboxLayout而不是manager

编辑: 使用StaggedGridLayoutManager时,这将解决问题。 但是,您将失去FlexboxLayoutManager的响应行为

我为一个令人震惊的布局经理创造了自己的响应行为:

 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));

从您的图像中,我认为您需要的是

尝试以下内容作为您的RecyclerView布局管理器:

recycler.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));

参考:这将帮助您归档您想要的设计使用FlexboxLayoutManager无法做到这一点吗?