【问题标题】:Android - RecyclerView StaggeredGridLayoutManager stretch width of last rowAndroid - RecyclerView StaggeredGridLayoutManager 拉伸最后一行的宽度
【发布时间】:2019-02-25 09:47:04
【问题描述】:

我将 RecyclerView 与 StaggeredGridLayoutManager spanCount 3 一起使用

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

但我想要这个(照片):

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>

【问题讨论】:

    标签: android android-layout android-recyclerview


    【解决方案1】:

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

    希望这能解决您的问题。

    【讨论】:

    • 很好,但对我没有帮助,因为如果 spanCount 为 3,则无法并排放置两列,因为 spanSize 是固定 int 且不能为 1.5f!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-17
    • 1970-01-01
    • 2015-01-21
    • 2011-04-20
    • 2015-09-03
    • 1970-01-01
    相关资源
    最近更新 更多