Android.StaggeredGridLayoutManager确定单元格所处行或列的位置
创始人
2024-08-20 03:00:12
0

StaggeredGridLayoutManager 不同于 GridLayoutManager,它可以让单元格的宽度或高度有所不同。因此,我们需要确定一个单元格的位置,即所处的行或列以及它在该行或列的位置。我们可以使用 getSpanIndex() 方法来实现。

例如,当我们需要为一个单元格设置布局参数时,我们可以将它添加到 StaggeredGridLayoutManager 中,并使用 getSpanIndex() 方法来确定它所处的列:

StaggeredGridLayoutManager.LayoutParams params = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams();
params.setFullSpan(false);
params.width = itemWidth;
params.height = itemHeight;
params.setMargins(margin,margin,margin,margin);
params.spanIndex = layoutManager.getSpanSizeLookup().getSpanIndex(position, spanCount);

在上面的代码中,我们从 ViewHolder 中获取布局参数,设置宽度、高度、边距等参数,然后使用 getSpanSizeLookup() 方法来获取单元格所处列的位置。getSpanSizeLookup() 方法返回一个 SpanSizeLookup 对象,它提供了 getColumnSpan() 和 getSpanIndex() 两个方法,它们都需要两个参数:position 表示当前单元格的位置,spanCount 表示列数。getColumnSpan() 方法可以返回当前单元格的跨度,而 getSpanIndex() 方法可以返回它所处列的位置。

在 StaggeredGridLayoutManager 中,每次添加一个单元格时,会根据它的宽度或高度来确定它所处的行或列。如果当前列已满,它会跳到下一列。使用 getSpanIndex() 方法,我们可以在添加完一个单元格后得到它的位置,并根据需要设置其它属性。

相关内容

热门资讯

反观!pokemomo辅助软件... 反观!pokemomo辅助软件,wpk俱乐部是做什么的,一贯是真的有挂(有挂分析)一、wpk俱乐部是...
必备科技!pokermaste... 必备科技!pokermaster破解版(辅助挂)切实真的是有挂(有挂方针辅助方法)1、上手简单,内置...
专业讨论!HH平台挂(辅助挂)... 专业讨论!HH平台挂(辅助挂)总是存在有挂(存在有挂辅助软件)1、下载好脚本下载之后点击打开,先需要...
教程辅助!wepoker辅助透... 教程辅助!wepoker辅助透视软件(辅助挂)果然是有挂(存在有挂辅助插件)1、免费辅助多个强度级别...
一分钟了解!wepoker免费... 一分钟了解!wepoker免费辅助器(辅助挂)果然存在有挂(竟然有挂辅助技巧)1、该软件可以轻松地帮...
总算了解!wepoker底牌透... 总算了解!wepoker底牌透视脚本(辅助挂)竟然是有挂(确实有挂辅助攻略)1、辅助软件下载优化,底...
让我来分享经验!wpk辅助哪里... 让我来分享经验!wpk辅助哪里买(辅助挂)一贯存在有挂(证实有挂辅助技巧)1、模拟器是什么优化,俱乐...
总算明白!wejoker开挂(... 总算明白!wejoker开挂(辅助挂)真是是有挂(有挂详细辅助教程)1)有没有挂:进一步探索有辅助吗...
信息共享!pokemmo手机版... 信息共享!pokemmo手机版修改器(辅助挂)竟然存在有挂(有挂教程辅助脚本)1、下载好透视辅助下载...
玩家必备科技!wepoker有... 玩家必备科技!wepoker有辅助插件吗(辅助挂)都是存在有挂(竟然有挂辅助软件)1、免费脚本咨询教...