如何在 recyclerview 中居中网格布局

how to center gridlayout in recyclerview

我正在尝试使用网格布局实现 recyler 视图,但我无法将项目居中,问题是带有小文本的项目我尝试将所有这些都居中,这是我的 xml

这里有 2 张 recyler 视图的图片,一张好,一张不好

https://ibb.co/wMtX1Yr https://ibb.co/8gHNmZT

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"

    android:gravity="center_horizontal|top"
    android:layout_gravity="center_horizontal|top">

     <ImageView
        android:id="@+id/file_img"
        android:background="@drawable/ic_file"
        android:layout_gravity="center"
        android:gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

    <TextView
        android:layout_gravity="center"
        android:gravity="center|top"
        android:id="@+id/file_name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="10dp"
        android:ellipsize="end"
        android:maxLines="2"/>

</LinearLayout>

我以前遇到过这个问题,我通过将 View holder 宽度设置为 android:layout_width="match_parent".
来解决它,并将 GridLayoutManager 中的 spanCount 设置为 2 或任何你想要的。