前人未踏の領域へ Androidアプリ開発編

Androidアプリ開発に関する調査メモ置き場。古い記事にはアプリ以外も含まれます。

RecyclerViewでいい感じに可変Gridレイアウトを実現する

LayoutManager.SpanSizeLookupというクラスを使うと、ポジションごとに使用するカラム数を選択することができ、テーブルのセル連結のようなリストが作成できる。HTMLのcolSpan属性みたいなものである。とりあえずコードの断片。

        final GridLayoutManager layoutManager = new GridLayoutManager(getActivity(), 2); //ここの2は縦のカラム数。
        layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
            @Override
            public int getSpanSize(int position) {
                Log.d(TAG, "getSpanSize: " + position);
                switch (position) {
                    case 0:
                    case 9:
                    case 10:
                        return 2;  /2カラム分使う
                    default:
                        return 1;  //通常は1データ1カラムを使う
                }
            }
        });

雑で申し訳ないけどヘッダー、フッターなんかも作れて超便利。