【发布时间】:2017-12-13 06:22:25
【问题描述】:
我有一组照片,我正在使用 RecyclerView 来显示它们。我想让我的 RecyclerView 中的第一个元素跨越 2 列和 2 行:
我知道我可以使用 setSpanSizeLookup 跨越 2 列:
GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
gridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (position == 0) {
return 2;
} else {
return 1;
}
}
});
但是我怎样才能让第一个项目也跨 2 行呢? ,,如果我不能用 GridLayoutManager 做到这一点,我该怎么做,我应该用什么?
【问题讨论】:
-
使用
GridLayoutManager的默认实现,你不能同时垂直和水平跨越 -
好的,我该怎么做,我应该用什么?
-
不确定 StaggeredGridLayoutManager 是否允许您这样做
-
Here 有一个使用
StaggeredGridLayoutManager的教程,但尚未为此特定用例创建此类。它的创建是为了在下一行中“推送”一些视图来设置间隙策略。顺便说一句,您可以尝试看看是否可以通过一些修改来达到相同的效果,或者尝试使用@Robillo 建议的库,看起来很有希望 -
@MatPag 我有大量由网格布局管理器构建的代码,您发送的链接有很多适配器修改,这意味着时间和最终结果在图像视频上为零实时播放,我会先尝试 Robillo 的 lib 帖子,如果该 lib 不起作用或非常滞后或出现一些奇怪的问题,请尝试此操作