Android-RecyclerView StaggeredGridLayoutManager的最后一行的拉伸宽度

时间:2019-02-25 09:47:04

标签: android android-layout android-recyclerview

我将RecyclerView与StaggeredGridLayoutManager spanCount 3一起使用

问题是如果元素数不是3或6或9 最后一行不延伸到父级

enter image description here

但是我想要这个(照相):

enter image description here

StaggeredGridLayoutManager gridLayoutManager = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.VERTICAL);
            recv.setLayoutManager(gridLayoutManager);



.
.
.
public adap.vh onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {

            LayoutInflater inflater = (LayoutInflater) viewGroup.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            final ImageView imgx = (ImageView) inflater.inflate(R.layout.imggalview, viewGroup, false);
            return new vh(imgx);
        }
.
.
.

imggalview.xml

<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"
    android:layout_width="match_parent"
    android:adjustViewBounds="true"
    android:src="@drawable/bob"
    android:layout_height="wrap_content"

    >

</ImageView>

1 个答案:

答案 0 :(得分:0)

使用 GridLayoutManager 可以实现相同目的。因此,它具有设置跨度大小的属性。默认情况下,每个项目占用1个跨度。您可以通过 setSpanSizeLookup(SpanSizeLookup)提供自定义的 GridLayoutManager.SpanSizeLookup 实例来进行更改。

希望这可以解决您的问题。