具有不同项目高度和宽度的网格

Posted

技术标签:

【中文标题】具有不同项目高度和宽度的网格【英文标题】:Grid with different item height and width 【发布时间】:2013-09-20 11:51:05 【问题描述】:

有人可以帮助我并告诉我这在 android 中是否可行。我需要在我的应用程序中有一个类似 gridview 的小部件,但具有不同的项目高度和宽度,如下所示:

这可能吗?如果可以,我可以用什么来实现。

谢谢

【问题讨论】:

我认为here 和here 你有答案:) 所以你想复制 pinterest 风格? :) @PareshMayani 我认为 pinterest 没有不同的项目宽度,是吗? 【参考方案1】:

为此,您需要解决方法,或者您可以说一个名为“AndroidStaggeredGrid”的第三方库

您可以在here查看它

【讨论】:

【参考方案2】:

@Darko,

是的,在 Android 中可以这样做。

有很多方法可以实现这一点。正如您所说,GridView 不能用于实现此目的。对于普通用户,这将显示有网格。

方式:

    为您可以看到的每个“网格”使用片段,并且每个片段都有自己的布局,可以在网格中显示 2 或 3 个图像(这里也不需要 gridview)。像往常一样使用 ImageView。

    如果版面设计相同,则可以定义具有相同格式的内部设计的单个版面。每行都有图像视图 - 顺便说一句,这是不鼓励的。

    每行的每种设计格式的设计布局。将每个特定行膨胀到一个列表(使用自定义适配器)。根据 getView() 中的位置,您可以控制要添加到列表中的行设计。 ListView 内置滚动,所以没问题!

我建议你选择 #1 或 #3。使用片段,您将有更好的控制。

如果你知道任何更好的想法,请分享!

【讨论】:

【参考方案3】:

它是交错网格视图

你可以在https://github.com/bulletnoid/StaggeredGridView找到一个实现

【讨论】:

【参考方案4】:

可以使用 GridLayout。更多详情见链接。

http://developer.android.com/reference/android/widget/GridLayout.html

【讨论】:

我确实用这一行回答了这个问题:“使用 GridLayout 是可能的”。这正是 OP 提出的问题。

以上是关于具有不同项目高度和宽度的网格的主要内容,如果未能解决你的问题,请参考以下文章

如何动态创建图像的拼贴(没有间隙的网格),其中图像具有不同的高度?

网格布局android / kotlin中单元格的高度和宽度相同

如何创建不同宽度和高度的平铺照片库?

是否可以有一个具有固定高度但可变宽度的元素的列流网格?

为啥弹性项目的宽度和高度会影响弹性项目的呈现方式?

表单高度和宽度的测量方式与 TextBox 高度不同