1

我创建了一个回收站视图,它的布局是使用交错网格布局管理的。但是结果不平衡,有人可以帮忙吗?

截屏

我所做的是:

val manager = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)
photoRv.layoutManager = manager

编辑 2020-08-02 这是我的项目布局

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

    </data>

    <com.google.android.material.card.MaterialCardView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:cardCornerRadius="10dp">

        <ImageView
            android:id="@+id/photo_iv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:scaleType="centerInside"
            tools:src="@drawable/img_haji" />

    </com.google.android.material.card.MaterialCardView>
</layout>

这是我的底部表格布局,其中包含回收站视图

<layout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools">

    <data>

    </data>

    <LinearLayout
        android:id="@+id/gallery_bs"
        style="@style/general_bottom_sheet">

        <include layout="@layout/bottom_sheet_grip" />

        <FrameLayout
            style="@style/bottom_sheet_header_layout">

            <include
                android:id="@+id/close_btn"
                layout="@layout/bottom_sheet_close_btn" />

            <TextView
                style="@style/bottom_sheet_title"
                android:text="@string/gallery" />

        </FrameLayout>

        <androidx.recyclerview.widget.RecyclerView
            android:id="@+id/photo_rv"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="25dp"
            tools:itemCount="4"
            tools:listitem="@layout/service_gallery_bottom_sheet_item" />

    </LinearLayout>

</layout>
4

1 回答 1

0

将新元素添加到列表后,尝试调用 layoutManager.invalidateSpanAssignments()。

于 2021-01-06T22:37:52.723 回答