Android RecyclerView网格布局宽度全宽和半宽

Android RecyclerView网格布局宽度全宽和半宽,android,android-recyclerview,android-gridview,Android,Android Recyclerview,Android Gridview,有没有办法归档以下内容?我希望我的RecyclerView能够以2列的网格显示我的卡片,但我也希望有两张卡片具有全屏宽度,而不仅仅是半宽。我尝试使用StaggedGridLayoutManager来归档,但找不到归档的方法 编辑 我希望布局如下所示: 用 p.setFullSpan()要扩展朔汉的答案,假设您想要一个回收视图,其中一些项目跨越全宽,而另一些项目仅跨越半宽。你要做的是: yourRecyclerView.layoutManager = StaggeredGridLayoutMana

有没有办法归档以下内容?我希望我的RecyclerView能够以2列的网格显示我的卡片,但我也希望有两张卡片具有全屏宽度,而不仅仅是半宽。我尝试使用
StaggedGridLayoutManager
来归档,但找不到归档的方法

编辑 我希望布局如下所示:


p.setFullSpan()

要扩展朔汉的答案,假设您想要一个回收视图,其中一些项目跨越全宽,而另一些项目仅跨越半宽。你要做的是:

yourRecyclerView.layoutManager = StaggeredGridLayoutManager(2, RecyclerView.VERTICAL)
然后在适配器内部,如果希望itemview跨越整个宽度,可以在onBindViewHolder中编写以下代码:

val layoutParams = holder.itemView.layoutParams as StaggeredGridLayoutManager.LayoutParams
layoutParams.isFullSpan = true

否则不要使用任何东西,它将跨越一半。

“我还希望有两张卡片具有全屏宽度”不是“我希望我的recyclerview能够以两列的网格显示我的卡片”。全屏大小的项目与您的2列想法相互排斥。请算出你想要的和/或画一幅画来说明。@Shark如果我不够清楚,我很抱歉。我添加了一个图像,以更好地说明iTunes使用的布局组合?与网格类似,每个非全宽区域都有线性布局。您可以尝试GridLayout>线性布局方向水平>GridLayout/LinearLayout权重0.5。可能不是最有效的实现,但应该是可能的。如果几天前我的笔记本电脑没有在我身上死掉,我会给你一些示例代码…@Mingsheng你能给我一些代码示例,说明如何使用recyclerview和layoutmanager实现这一点吗?
val layoutParams = holder.itemView.layoutParams as StaggeredGridLayoutManager.LayoutParams
layoutParams.isFullSpan = true