2 種類の項目を持つ GridView を作成しようとしています。
最初の数項目が 1 行全体を占めます。ユーザーがスクロールを続けると、次のように 1 行に 2 つのアイテムが表示され始めます。
このタイプのグリッド ビューを実現するにはどうすればよいですか? iOS の UICollectionView を使用すると簡単に実行できますが、Android ではうまくいきませんでした。どんな助けでも大歓迎です!
2 種類の項目を持つ GridView を作成しようとしています。
最初の数項目が 1 行全体を占めます。ユーザーがスクロールを続けると、次のように 1 行に 2 つのアイテムが表示され始めます。
このタイプのグリッド ビューを実現するにはどうすればよいですか? iOS の UICollectionView を使用すると簡単に実行できますが、Android ではうまくいきませんでした。どんな助けでも大歓迎です!
ここでの最善の解決策は、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をご覧ください。