Android LayoutManager for RecyclerView可根据项目宽度自动设置列数

Android LayoutManager for RecyclerView可根据项目宽度自动设置列数,android,android-layout,Android,Android Layout,我正在尝试构建一个包含RecyclerView或GridView的UI,其中我希望根据动态填充的项目的数量和宽度自动设置列数 这是我迄今为止所取得成就的图像 这是我试图实现的目标的图像 我的项目布局xml <TextView android:layout_width="wrap_content" android:layout_height="40dp" android:background="@drawable/hollow_white_

我正在尝试构建一个包含RecyclerView或GridView的UI,其中我希望根据动态填充的项目的数量和宽度自动设置列数

这是我迄今为止所取得成就的图像

这是我试图实现的目标的图像

我的项目布局xml

<TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:background="@drawable/hollow_white_background"
        android:id="@+id/foodItemName"
        android:text="PIZZA"
        android:gravity="center"
        android:textColor="@color/colorGray300"
        android:textStyle="bold"
        android:textSize="15sp"
        android:paddingLeft="10dp"
        android:paddingRight="10dp" />


请帮忙

在xml文件中,为GridView添加android:numColumns=“auto_-fit”和android:stretchmode=“columnWidth”属性。第一个属性决定根据屏幕大小应该有多少列,第二个属性决定如何处理剩余的空间,在这种情况下,它会增加列宽。

尝试使用
交错的TridLayoutManager
作为
RecyclerView
的LayoutManager,使用
项布局的固定
宽度
。xml

已经这样做了,但它只显示两列,我的项向左对齐,不处理额外的空间。我想要的是当我的项目的宽度是小的,然后它应该显示像3列或更多,当宽度是大的,然后它应该显示1或2列自动@AyushMaurya嗯,这些属性应该完全满足您的需要。你能用你当前的xml文件更新这个问题吗?这就是我使用的xml,问题仍然是一样的。我认为出现问题是因为您设置了一个特定的按钮(或TextView,无论它们是什么)宽度。尝试为每个按钮“wrap\u content”设置宽度。不,它只是“wrap\u content”。请提供用于配置GridLayoutManager的项目布局xml和代码。查看您的目标UI,我认为使用带有标准布局管理器的RecyclerView无法获得它。你需要一些流程布局。有许多可用的实现。例如,它是我的一个存储库,包括一些类似的东西。也许你正在寻找一个FlowLayout。请参阅或。显然,这是一个可以由RecyclerView填充的FlowLayout。Adapter EdgridLayoutManager影响行,而不是列!