2列のスタッガードグリッドがあります。これは機能しています。私が望むのは、行が2つの列にまたがる位置0にあります。 GridLayoutMangerを非常に簡単に使用する前に、これを実行しました。
mGridLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
return position == 0 ? 2 : 1;
}
});
StaggeredGridLayoutManagerは、GridLayoutManagerのようにこの機能を提供しません。
これを行う別の方法はありますか?私は検索しましたが、同じ問題のある人は見つかりませんでした。この機能は、RecyclerViewの最後の行にProgressBarが表示されている場合、この機能が私のシナリオと無限スクロールに非常に役立つと思います。
setFullSpan メソッドを使用できます。
この方法では、アイテムはすべてのスパン領域を使用してレイアウトされます。
つまり、向きが垂直の場合、ビューは全幅になります。向きが水平の場合、ビューは最大の高さになります。
このようなもの:
public final void onBindViewHolder(RecyclerView.ViewHolder viewHolder, int position) {
StaggeredGridLayoutManager.LayoutParams layoutParams = (StaggeredGridLayoutManager.LayoutParams) viewHolder.itemView.getLayoutParams();
layoutParams.setFullSpan(true);
}
注意を払う。
すべての列にまたがるビューをサポートしますが、あなたのケースには十分なはずです。