当我尝试将setSpanSizeLookup与GridLayoutManager一起使用时,它可以正常工作。但是,使用与StaggeredGridLayoutManager相同的setSpanSizeLookup会出错。它显然不是一个有效的班级。有没有办法在StaggeredGridLayoutManager中使用setSpanSizeLookup,或者你能否提出一个替代解决方案来实现相同的结果?
以下是我如何将setSpanSizeLookup与GridLayoutManager一起使用 -
GridLayoutManager llm = new GridLayoutManager(getActivity(), 2);
llm.setSpanSizeLookup(new SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if(position == 0)
{
return 2;
}
else
{
return 1;
}
}
});
基本上我想将第一项的跨度大小设置为最大,后续行的大小设置为一半。有什么想法吗?
答案 0 :(得分:1)
@Override
public void onViewAttachedToWindow(RecyclerView.ViewHolder holder) {
super.onViewAttachedToWindow(holder);
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();
if(lp != null
&& lp instanceof StaggeredGridLayoutManager.LayoutParams
&& holder.getLayoutPosition() == 0) {
StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;
p.setFullSpan(true);
}
}