Mua*_*yib 4 java android recyclerview-layout staggeredgridlayoutmanager
到目前为止,我可以在两列中显示项目,但是如何将特定位置的两列合并为一列(即第 7 项)?
我已经尝试过 SO 提供的许多解决方案以及其他解决方案,但没有一个对我有用。那里提供的解决方案要么使用 LinearLayout 膨胀静态布局,要么提供列中分区的解决方案。
我也尝试过使用setSpanLookup方法但没有运气..
经过一番苦苦挣扎,终于找到了对我有用的解决方案:
@Override
public void onViewAttachedToWindow(MyViewHolder holder) {
super.onViewAttachedToWindow(holder);
ViewGroup.LayoutParams lp = holder.itemView.getLayoutParams();
if(lp != null
&& lp instanceof StaggeredGridLayoutManager.LayoutParams
&& (holder.getLayoutPosition() == 6 || holder.getLayoutPosition() == 13)) {
StaggeredGridLayoutManager.LayoutParams p = (StaggeredGridLayoutManager.LayoutParams) lp;
p.setFullSpan(true);
}
holder.setIsRecyclable(false);
}
Run Code Online (Sandbox Code Playgroud)
希望这对你也有帮助。