1

2 種類の項目を持つ GridView を作成しようとしています。

最初の数項目が 1 行全体を占めます。ユーザーがスクロールを続けると、次のように 1 行に 2 つのアイテムが表示され始めます。

http://imgur.com/YFSUxVI

このタイプのグリッド ビューを実現するにはどうすればよいですか? iOS の UICollectionView を使用すると簡単に実行できますが、Android ではうまくいきませんでした。どんな助けでも大歓迎です!

4

1 に答える 1

3

ここでの最善の解決策は、GridLayoutManagerでRecyclerViewを使用し、列のスパンをSpanSizeLookupで設定してみてください。

ここで同様の質問を見つけることができ、開始するのに良い例があります。

基本的に、コールバックを実装しSpanSizeLookup、アイテムの位置に基づいて、またはおそらくより良いタイプに基づいて、正しいスパンを設定する必要があります。

mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            switch(mAdapter.getItemViewType(position)){
                case YourGridAdapter.TYPE_THREESPAN:
                    return 3;
                case YourGridAdapter.TYPE_ITEM:
                    return 1;
            }
        }
    });

独自の LayoutManager の作成を検討している場合は、すばらしいライブラリTwoWay Viewをご覧ください。

于 2015-02-20T21:55:20.823 に答える